OCRKit Pro script für Hazel

was ist denn bei hazel eingestellt?

evtl. gibt es hier hazel-user, die sich dazu besser äußern können.
 
Bei Hazel ist die Regel erstellt, wonach alles was als .pdf erscheint per AppleScript über OCRKit laufen soll. Weiter nichts. Auch eine nächste Regel die dann durchsuchbare Datei zu verschieben geht zwar, aber alles passiert dann in Endlosschleife!
 
Auch wenn ich nur in Hazel OCR machen, ohne eine weitere Regel gleichzeitig anzuwenden, entsteht diese Problematik mit der Endlosschleife.
Deshalb schließe ich #19 aus.
 
Deshalb schließe ich #19 aus.

Du lässt die Dateien vom Type PDF von Hazel in einem Ordner überwachen und startest mit jeder dort erscheinenden PDF Datei OCRKit. OCRKit macht einen OCR Lauf und gibt eine neue, zusätzliche PDF Datei aus. Wenn Du die Ausgabe im selben Ordner machst, wird Hazel auch mit dieser neuen PDF Datei das OCRKit starten, der wieder eine PDF Datei erzeugt und wieder und wieder... Ich denke, das hat Olivetti in #19 gemeint. Mach halt die Ausgabe von OCRKit in einem anderen Ordner.
 
Ich habe dafür drei Aktionen auf meinem Ordner "Inbox" in Hazel angelegt, wobei vorausgesetzt wird, dass OCRKit den Qualifier "OCR" im Dateinamen ergänzt. Ich nutze Hazel 4.3.2 und OCRKit 18.7 unter macOS 10.13.6.

Ich schiebe auch PDF-Dateien in den Inbox-Ordner, die möglicherweise bereits lesbar sind (z.B. Download von Rechnungen, Kontoauszügen etc.), daher das eingebaute Shellskript und die Differenzierung, ob OCRKit aufgerufen werden soll oder nicht. Für Deinen Fall wahrscheinlich nicht relevant. Nach dem OCR-Schritt verschiebe ich die Dateien in einen weiteren Ordner ("Processed Inbox"). Auf diesem Ordner liegen dann die Regeln, die versuchen, ein Dokument zu erkennen und in den korrekten Zielordner zu verschieben.
  1. Process Documents with OCR
    • if all of the following conditions are met
      • Extension is pdf
      • Name does not contain OCR /* damit werden von OCRKit angelegte Dateien ignoriert */
      • Passes shell script embedded script /* Das Skript erkennt, ob OCR notwendig ist */
    • do the following to the matched file or folder
      • Run AppleScript embedded script /* Aufruf OCRKit */
  2. Process Documents without OCR
    • if all of the following conditions are met
      • Extension is pdf
      • Name does not contain OCR /* damit werden von OCRKit angelegte Dateien ignoriert */
      • Passes shell script embedded script /* Das Skript erkennt, ob OCR notwendig ist. Hier sind die Exit-Codes ggü. oben vertauscht! */
    • do the following to the matched file or folder
      • Move to folder <Zielordner>
  3. Move to Processed Folder
    • if all of the following conditions are met
      • Name contains OCR /* nur OCRKit-bearbeitete Dateien verschieben */
    • do the following to the matched file or folder
      • Move to folder <Zielordner>
Für das Shell-Skript benötigt man kein Homebrew oder ähnliches. Das Skript lautet:
Code:
#! /bin/bash
if ! grep Font "$1"
then
     echo "This file needs OCR"
     exit 0
else
     echo "This file does not need OCR"
     exit 1
fi

Das Applescript lautet:
Code:
tell application "OCRKit"
    activate
    open theFile
end tell
delay 15

Der Delay-Befehl ist drin, weil es bei mir Probleme mit dem anschließenden Move-Befehl gab.
 
Passt! Das war der Fehler.
Die Regel war jedes PDF mit OCRKit zu durchsuchen. OCRKit erstellt ja immer eine _OCR.pdf, ergo wieder eine PDF. Habe jetzt Hazel angewiesen, alle neu erstellten _OCR. pdf nicht mehr zu berücksichtigen.
Und wieso hat das so lang gedauert,Jungs?;):D
Das hätte man dem alten Mann auch viel schneller mitteilen können....vielen Dank für Eure Hilfe!
 
Bei mir habe ich das in einer Abfolge von Schritten gelöst.
1. Überwachter Ordner für OCR.
2. Befehlskette für Hazel

1. If - Kind is - PDF (ist eigentlich unnötig wenn nur PDFs in den Ordner kommen)

und

2. If - Inhalt erstellt mit - does not contain - OCRKit

Do the following to the matched file or folder:

1. Run AppleScript -
tell application "OCRKit Pro"
launch
open theFile
end tell

und

2. Move - to folder - Trash (Dadurch wird das Original gelöscht)

Abschließend über eine weitere Befehlsabfolge wird das neu erstellte durchsuchbare PDF in einen anderen Ordner verschoben (bei mir Downloads) wo weitere Aktionen durch Hazel durchgeführt werden und OCRKit beendet.

IF: Inhalt erstellt mit - contains - OCRKit
Do the following to the matched file or folder
1. Move - to folder - Downloads
2. Run AppleScript - tell application "OCRKit Pro"
quit
end tell

Das funktioniert bei mir ohne Endlosschleife etc.
 
wegen der zeitumstellung - dauert jetzt ja alles 'ne stunde länger.
 
Und schon wieder ein altes Thema ausgekramt. Nachdem ich für meinen Wunsch-Prozess den ersten Teil vernünftig hinbekommen habe (Mail Anhänge sichern), möchte ich nun den weiteren Schritt angehen. Hazel soll den Ordner überwachen, in den die Anhänge sortiert wurden, diese automatisch OCRen und in einen weiteren (Cloud) Ordner schieben. Hierfür habe ich OCRMyPDF installiert und möchte dieses über bin/bash Skript einbinden.

OCRMyPDF funktioniert über Terminal korrekt, nur die Einbindung in Hazel klappt nicht.

Einmal im Zusammenhang:
Bildschirmfoto 2022-12-09 um 17.47.25.jpg
Bildschirmfoto 2022-12-09 um 17.47.58.jpg


Die Fehlermeldung sagt einfach nur "error processing shell script on file"

Hat einer das bei sich laufen? Hazel ist die neuste Version.
 
Echt niemand? Gibt es keine Hazel Experten oder fehlt meiner Beschreibung etwas?
 
Wieso übergibst Du 2x den Dateinamen?

Und ist ocrmypdf im $PATH?
 
Ich denke er will irgendwie den Dateinamen beibehalten.

@TE
Hänge mal an das 2. vorne ein ocr hin, also ocr"$1"
 
Hallo,
muss es das Programm sein ? - PDFScanner aus dem App Store benutze ich, mit Hazel und das funktioniert.
 
Hast Du das mal probiert?
Ich habs mal vor längerer Zeit beim Video konvertieren angewandt. Hab schon geschaut aber ich kanns nicht mehr finden. Allerdings hatte das ev. mit FFMpeg zu tun.

Habs gefunden: "ffmpeg -i "$1" -vcodec h264_videotoolbox -b:v 1500k "$1".mkv"
Dabei wurde beispielsweise der ursprünglichen Extension ein "mkv" angehängt, also z.B. mpeg.mkv

In der darauffolgenden Rule habe ich das .mpeg, .ts oder was so anstand aus dem Dateinamen entfernt und schon war der Dateiname korrigiert.

Anscheinend klappte das nur durch FFmpeg. Mir war halt wichtig das der Dateiname blieb, sonst hätte ich alles mit der Hand umbenennen müssen.

Ich dachte das ginge seinerzeit von Hazel aus. Mea culpa.

Bildschirmfoto 2022-12-12 um 21.59.58.png
 
Zurück
Oben Unten