OCR durch Abby in indizierten Dateien durch Hazel ausführbar (z.B. durch Script)?

Hallo zusammen,

gibt es eine Möglichkeit, eingescannte Dokumente in einem von Hazel überwachten Ordner das OCR durch Abbyy anzustoßen und durchführen zu lassen?
Wenn dann wird es ja wahrscheinlich in einer Hazel-Regel über ein Skript erfolgen?

Zum Hintergrund:

Ich scanne meine Dokumente mit ExactScan Pro ein, was auch sehr gut funktioniert. Danach werden die Dokumente (aktuell) von Hazel in einem überwachten Ordner mit OCR Kit Pro in ein durchsuchbares PDF umgewandelt.
Von dort aus werden sie nach bestimmten Regeln in 3 verschiedene „Vorordner" verschoben, wo sie dann nach Hazel-Regeln in die Cloud Station in die verschiedenen Ordner verschoben werden.

Die Cloud Station wiederum wird in DEVONthink indiziert, so dass ich die komplette Ablage indiziert in DEVONthink vorhanden habe.

Ein großes Problem ist momentan für mich, dass OCR Kit – oder auch ExactScan Pro – ziemlich schlecht das OCR umsetzen. Das will ich jetzt ändern.

Ich habe mal einen Vergleich gemacht zwischen OCR Kit, PDFpen Pro und Abbey in DEVONthink

PDFpen Pro schneidet da schon wesentlich besser als OCRkit Pro, das beste Ergebnis allerdings hat Abbyy geliefert. Damit würden dann höchstwahrscheinlich auch meine Hazel-Regeln wieder wesentlich öfter greifen, ohne dass ich großartig nacharbeiten muss.

Alternativ habe ich eine Hazel-Regel, die den Scan-Ordner auf neue Eingänge überwacht und dann per PDFpen Pro in ein durchsuchbares PDF umwandelt.

Was ich jetzt allerdings suche - wie oben beschrieben - diesen Schritt per Abbyy anzustoßen, danach soll dann ganz normal wieder in meiner bisherigen Workflow die weitere Bearbeitung erfolgen.

Das Problem ist zum einen, dass ich nicht weiß, ob und wie ich das OCR über Abbyy starten kann und zum anderen warum auf Dateiebene zwei Dateien zu finden sind, in dem indizierten Ordner von DEVONthink allerdings nur eine ohne dass sich der Name geändert hat.

Oben: die Dateien in Pathfinder, wobei die Datei mit dem Zusatz -1 die mit OCR ist
Unten: in DEVONthink ist nur eine Datei zu sehen

Wie kann ich denn sowas vermeiden bzw. lösen? Denn das führt dann zwangsläufig wieder zu neuen Problem.

Wer kann mir in dem Bereich einen Tipp geben, ob und wie das zu gestalten wäre.

Die Indizierung der Ordner soll aber genau so bleiben, weil die Aufgaben von Hazel bisher in DEVONthink eher nur rudimentär möglich sind.

Besten Dank für die Hilfe
Sonnige Grüße
Markus

Die Abbyy-Engine von DT kannst du nicht außerhalb von DT einsetzen. Ein Anstoßen durch Hazel wird also nur auf indirektem Weg gelingen. Nachdem DT hervorragend skriptbar ist, könntest du natürlich mittels Hazel die Datei durch DT importieren lassen, OCR laufen lassen, und sodann wieder exportieren. Es wäre aber vielleicht einfacher, die Scans in einem von DT indizierten Ordner abzulegen; mittels einer intelligenten Regel könnte DT dann OCR durchführen und die Datei anschließend in einen weiteren indizierten Ordner ablegen. Diesen wiederum überwacht Hazel und führt dann deine verschiedenen Aktionen aus.

2 Likes

:+1:
Nach meiner Erfahrung braucht man Hazel gar nicht, sondern kann DT alles erledigen lassen:

1 Like

wenn das möglich wäre, dann wäre es eine echte Alternative… Der Gedankenanstoss ist schon mal echt gut… Danke dafür…

Ein sehr gute Idee :+1:t3:, danke! Da muss ich gleich mal versuche, diese intelligente Regel zu erstellen, damit es so funktioniert

1 Like

Dazu müsste ich mich mit Java auskennen - aber das ist tatsächlich nicht mein Ding :man_shrugging:t3:. Das ist mir echt zu hoch.
Mit den Hazel-Regeln funktioniert es, wenn denn das OCR vernünftig ist

Es ist nicht Java, sondern Javascript.

:innocent: stimmt - sorry für die Ungenauigkeit. Auch davon habe ich leider keine Ahnung :woozy_face:

so, ich habe mal ein wenig getestet.
Kann ich eigentlich in DEVONthink - ähnlich wie in Hazel - erkennen, welche Bedingung nicht greift, um diese dann anpassen zu können?

Aktuell steht die Regel noch auf Manuell stehen. Ich denke mal, wenn es automatisch klappen soll, muss es auf Nach Import stehen, richtig?

So richtig laufen tut es aber leider noch nicht:

  1. Nachdem das OCR durchgeführt wurde, ist eine neue Datei auf Dateiebene hinzugekommen mit der Endung -1 (hatte ich im Ausgangspost schon erwähnt)
  2. in dieser Datei mit der Endung -1 liegt das OCR
  3. das Ausgangsdokument, das kein OCR hat, wird zwar in den richtigen Ordner „1.HazelOCR" verschoben
  4. die Datei, die im überwachten Ordner „0.DEVONthink_Import übrig bleibt, steht dann natürlich für das nächste Mal wieder zur Verarbeitung parat - also eine Dauerschleife sozusagen.
    OK, ich könnte es mit der Regel löschen. Aber eigentlich müsste ja diese Datei wegen dem OCR verschoben werden und die Ursprungsdatei gelöscht werden.

Aber wie bekomme ich sowas hin :thinking:

Korrekt.

Damit kein neues Dokument entsteht ist OCR Anwenden anstatt OCR in durchsuchbares PDF zu verwenden.

(Solltest du tatsächlich einmal haben wollen, dass ein neues Dokument entsteht, und willst du mit der Regel dann dieses neue Dokument bearbeiten ist Convert & Continue zu verwenden; der deutsche Begriff ist mir leider gerade nicht geläufig).

Du kannst deine Regel übrigens auch noch um die Bedingung Wortzahl ist 0 ergänzen; so wird die Regel nur auf Dokumente ohne Textlayer angewandt; zudem kannst du dir dann auch dein Tag OCR sparen.

2 Likes

das sind dann die Feinheiten, die man wissen muss. So funktioniert das einwandfrei :+1:t3:

Danke dafür!

Das macht tatsächlich Sinn, speziell für die eingescannten Dokumente, denen hänge ich beim Scannen noch ein _OCR dran.
Damit wollte ich dann auch zwei Regeln unterscheiden, eingescannte und die aus dem Download. Nur klappt das nicht

Auch die Dokumente mit _OCR im Datennamen, werden durch die Regel „Download" verarbeitet, was eigentlich durch die Bedingung Dateiname endet nicht mit _OCR nicht sein dürfte.

Zumal das bei diesen Dokumenten, weil sie ja nur indiziert sind mit dem Befehl nach Import auch nicht automatisch klappt

Wenn Du den Vorschlag von @Blanc umsetzt, auf “Wortzahl ist 0” zu prüfen, ist dieses ganze Geraffel mit angehängten Namensteilen oder gesetzten Tags unnötig. Zudem ist es fehleranfällig und überflüssig, da ja das Dokument selbst Dir alles Nötige verrät: Wortzahl ist 0 => Du musst noch OCR machen. Sonst musst Du kein OCR machen.

Übrigens kann das Gefummel mit einem angehängten _OCR nur dann funktionieren, wenn Du das eben auch anhängst. Was die von Dir geposteten Regeln anscheinend gar nicht tun.

Und noch was: “dark-mode” Screenshots sind unnötig schwer zu lesen (es ist ja kein Zufall, dass Bücher und Zeitungen nicht weiß auf schwarz gedruckt werden :wink:

1 Like

nach Import funktioniert auch für indizierte Dateien - d.h. wenn DT erstmals auf die neue indizierte Datei aufmerksam wird, gilt das als Importereignis. Zumindest funktioniert das bei mir so.

Ansonsten kann ich nur @chrilleks Ausführungen beipflichten - die Regel ist unnötig kompliziert; sowohl Dateiendungen als auch Tags sind hier garnicht erforderlich. Das zu entschlacken macht auch eine etwaige Fehlersuche dann einfacher.

1 Like

Danke für eure Hilfe und die Hinweise. Ich habe jetzt die Regel entschlackt und lasse jetzt standardmäßig OCR drüber laufen. Z.B scheinen Amazon-Rechnungen schon ein OCR zu haben, obwohl mir in PDFpen Pro kein OCR-Layer angezeigt wird.

Auf jeden Fall greift die Regel Wortzahl ist 0 bei dem heruntergeladenen PDF nicht mehr

Ist nicht in runtergeladenen PDF´s - weil über Druckertreiber generiert - schon ein OCR-Layer drin? Zusätzlich dazu gibt es - soweit ich weiß - PDF/A Dokumente mit einem “schreibgeschützen” OCR-Layer. Eine PDF/A Datei sieht nach Außen aber wie eine PDF-Datei aus…

Nicht zwangsläufig. Die Telekom hat zb bis vor kurzem PDF-Rechnungen ohne Textlayer verschickt. Letztlich ist das Sache der Software, die das PDF erzeugt (vermutlich ist das häufig gerade kein Druckertreiber)

1 Like

Ich habe in dem Zusammenhang (intelligente Regel) mal die Frage zu “in externen Ordner verschieben”…

Sollte ja eigentlich selbsterklärend sein, nur kann ich nicht angeben, in welchen externen Ordner verschoben werden soll?

Da kann man nichts weiter angeben… Wohin wird dann verschoben?