Batch OCR gesucht mit Dateifilterfunktionen
Hallo zusammen,
bin jetzt vielleicht bei Windows Tools nicht ganz richtig, aber kein anderes Forum hätte eher gepasst.
Wir benutzen aktuell AbbyyFineReader-HotFolder um PDFs in einem bestimmten Ordner (plus Unterordnern) via OCR durchsuchbar zu machen.
Das scheint aber die einzige Möglichkeit zu sein, die PDF-Auswahl einzuschränken (also entweder mit oder ohne Unterordner).
Uns interessiert noch ein Dateifilter, zBsp. der Form:
- durchsuche alle Ordner und Unterordner aber mache nur OCR mit PDF-Dateien die ein "A" im Dateinamen haben
oder
- durchsuche alle Ordner und Unterordner aber mache nur OCR mit PDF-Dateien die ein "\2\" im Dateipfad haben
Freue mich über Tipps, kann auch Geld kosten.
Danke.
bin jetzt vielleicht bei Windows Tools nicht ganz richtig, aber kein anderes Forum hätte eher gepasst.
Wir benutzen aktuell AbbyyFineReader-HotFolder um PDFs in einem bestimmten Ordner (plus Unterordnern) via OCR durchsuchbar zu machen.
Das scheint aber die einzige Möglichkeit zu sein, die PDF-Auswahl einzuschränken (also entweder mit oder ohne Unterordner).
Uns interessiert noch ein Dateifilter, zBsp. der Form:
- durchsuche alle Ordner und Unterordner aber mache nur OCR mit PDF-Dateien die ein "A" im Dateinamen haben
oder
- durchsuche alle Ordner und Unterordner aber mache nur OCR mit PDF-Dateien die ein "\2\" im Dateipfad haben
Freue mich über Tipps, kann auch Geld kosten.
Danke.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 537525
Url: https://administrator.de/forum/batch-ocr-gesucht-mit-dateifilterfunktionen-537525.html
Ausgedruckt am: 22.12.2024 um 22:12 Uhr
13 Kommentare
Neuester Kommentar
Es gibt dafür einen Dockercontainer, funktioniert echt gut, und verbraucht so gut wie keine Ressourcen https://github.com/jbarlow83/OCRmyPDF
Solltet ihr eine Synology Diskstation haben welche Docker unterstützt ist synOCR vlt was für dich https://www.synology-forum.de/showthread.html?99647-synOCR-GUI-f%C3%BCr- ...
Nutze ich selbst auch. Alles was eingescannt wird landet auf der Synology im Ordner der über cloud sync mit OneDrive synchronisiert wird. Dann läuft Stündlich der synOCR Task und wandelt die PDFs um.
Solltet ihr eine Synology Diskstation haben welche Docker unterstützt ist synOCR vlt was für dich https://www.synology-forum.de/showthread.html?99647-synOCR-GUI-f%C3%BCr- ...
Nutze ich selbst auch. Alles was eingescannt wird landet auf der Synology im Ordner der über cloud sync mit OneDrive synchronisiert wird. Dann läuft Stündlich der synOCR Task und wandelt die PDFs um.
- durchsuche alle Ordner und Unterordner aber mache nur OCR mit PDF-Dateien die ein "A" im Dateinamen haben
Dafür brauchst du kein extra Tool da reicht z.B. auch die Powershell fürgci 'd:\root' -File -Filter *.pdf -recurse | ?{$_.Basename -match 'A'}
durchsuche alle Ordner und Unterordner aber mache nur OCR mit PDF-Dateien die ein "\2\" im Dateipfad haben
gci 'd:\root' -File -Filter *.pdf -recurse | ?{$_.Directory.Name -eq '2'}
Zitat von @TechnokratVogt:
Es gibt dafür einen Dockercontainer, funktioniert echt gut, und verbraucht so gut wie keine Ressourcen https://github.com/jbarlow83/OCRmyPDF
Solltet ihr eine Synology Diskstation haben welche Docker unterstützt ist synOCR vlt was für dich https://www.synology-forum.de/showthread.html?99647-synOCR-GUI-f%C3%BCr- ...
Nutze ich selbst auch. Alles was eingescannt wird landet auf der Synology im Ordner der über cloud sync mit OneDrive synchronisiert wird. Dann läuft Stündlich der synOCR Task und wandelt die PDFs um.
Sorry, aber einen Abbyy Finereader mit einer Toolsammlung wie OCRmyPDF zu vergleichen, ist wieder mal der berühmte Äpfel und Birnen vergleich. OCR machen beide, aber die Qualität bei der Texterkennung ist doch die entscheidende Frage.Es gibt dafür einen Dockercontainer, funktioniert echt gut, und verbraucht so gut wie keine Ressourcen https://github.com/jbarlow83/OCRmyPDF
Solltet ihr eine Synology Diskstation haben welche Docker unterstützt ist synOCR vlt was für dich https://www.synology-forum.de/showthread.html?99647-synOCR-GUI-f%C3%BCr- ...
Nutze ich selbst auch. Alles was eingescannt wird landet auf der Synology im Ordner der über cloud sync mit OneDrive synchronisiert wird. Dann läuft Stündlich der synOCR Task und wandelt die PDFs um.
Ich war viele Jahre beruflich im Bereich Dokumentenmanagement und OCR unterwegs und m.E. sind die einzig wirklich qualitativ guten OCR Engines von Abbyy oder Nuance!
Hmm,
ich dachte das Ihr Abbyy FineReader einsetzt? Das ist ja selbst in der Corporate Version um einiges preiswerter als 1000€.
So recht verstanden habe ich Dein Ursprungsproblem aber ohnehin nicht (Sorry dafür). In der Regel handelt es sich ja um gescanntes Papier, dass man per OCR (wieder) durchsuchbar machen will.
Ich versuche daher immer die Scandateien die ich weiterverarbeiten möchte möglichst nativ an die OCR weiterzureichen. Wenn es irgend geht nutze ich immer Scans im TIF G4-Format (300dpi Dithering-Mode). Der OCR Prozess macht dann aus den Scans durchsuchbare PDF-Dateien.
Schon vorhandene PDF-Dateien nochmals durch die OCR zu jagen und ein neues PDF daraus zu erstellen erschließt sich mir nicht so recht.
a) Entweder habe ich native erzeugte PDF-Dateien, die ohnehin Volltext-Durchsuchbar sind
b) Es handelt sich um gescannte PDF-Dateien... Nur warum überhaupt aus einem Scan erstmal ein PDF erzeugen!?
ich dachte das Ihr Abbyy FineReader einsetzt? Das ist ja selbst in der Corporate Version um einiges preiswerter als 1000€.
So recht verstanden habe ich Dein Ursprungsproblem aber ohnehin nicht (Sorry dafür). In der Regel handelt es sich ja um gescanntes Papier, dass man per OCR (wieder) durchsuchbar machen will.
Ich versuche daher immer die Scandateien die ich weiterverarbeiten möchte möglichst nativ an die OCR weiterzureichen. Wenn es irgend geht nutze ich immer Scans im TIF G4-Format (300dpi Dithering-Mode). Der OCR Prozess macht dann aus den Scans durchsuchbare PDF-Dateien.
Schon vorhandene PDF-Dateien nochmals durch die OCR zu jagen und ein neues PDF daraus zu erstellen erschließt sich mir nicht so recht.
a) Entweder habe ich native erzeugte PDF-Dateien, die ohnehin Volltext-Durchsuchbar sind
b) Es handelt sich um gescannte PDF-Dateien... Nur warum überhaupt aus einem Scan erstmal ein PDF erzeugen!?
Hmm,
ok, aber warum nicht einfach selbst eine Lösung bauen, wenn Du ohnehin schon etwas programmieren musstest!?
Du kannst doch selbst per Powershell oder vbs einen entsprechenden Job bauen. Du musst dann halt einmalig Deine Ordnerstruktur durchsuchen und alle PDF-herausfinden, die nicht durchsuchbar sind. Diese PDF ohne Text kopierst Du dann an Deinen Hot-Folder.
Nach der Konvertierung ersetzt dann das neue searchable PDF das alte PDF (ggf. werden die Orginal-Daten in einen Sicherungsordner verschoben).
Über ein Tool wie z.B. Logmon könnte man die ganze Ordnerstruktur überwachen. Immer wenn ein neues PDF in der Struktur abgelegt wird, findet die Überprüfung statt, ob das abgelegte PDF searchable ist oder nicht. Wenn nicht, wird das PDF in den Hot-Folder übergeben und konvertiert. Die Unterscheidung, dass nur bestimmte PDF searchable sein sollen/müssen würde ich gar nicht erst machen.
M.E. ist so eine Lösung viel flexibler anpassbar und Du kannst eigentlich jede beliebige bzw. die beste OCR-Engine nutzen.
ok, aber warum nicht einfach selbst eine Lösung bauen, wenn Du ohnehin schon etwas programmieren musstest!?
Du kannst doch selbst per Powershell oder vbs einen entsprechenden Job bauen. Du musst dann halt einmalig Deine Ordnerstruktur durchsuchen und alle PDF-herausfinden, die nicht durchsuchbar sind. Diese PDF ohne Text kopierst Du dann an Deinen Hot-Folder.
Nach der Konvertierung ersetzt dann das neue searchable PDF das alte PDF (ggf. werden die Orginal-Daten in einen Sicherungsordner verschoben).
Über ein Tool wie z.B. Logmon könnte man die ganze Ordnerstruktur überwachen. Immer wenn ein neues PDF in der Struktur abgelegt wird, findet die Überprüfung statt, ob das abgelegte PDF searchable ist oder nicht. Wenn nicht, wird das PDF in den Hot-Folder übergeben und konvertiert. Die Unterscheidung, dass nur bestimmte PDF searchable sein sollen/müssen würde ich gar nicht erst machen.
M.E. ist so eine Lösung viel flexibler anpassbar und Du kannst eigentlich jede beliebige bzw. die beste OCR-Engine nutzen.
Zitat von @greatmgm:
Ja das ist auch eine Möglichkeit, leider erlaubt Abbyy HotFolder nur 1000 PDfs pro Monat, das würde ab Start heute möglicherweise reichen. Für die rückwirkende Konvertierung wirds eng ... alleine in 2019 habe ich 59.000 PDFs gefunden ;)
Ups...Ja das ist auch eine Möglichkeit, leider erlaubt Abbyy HotFolder nur 1000 PDfs pro Monat, das würde ab Start heute möglicherweise reichen. Für die rückwirkende Konvertierung wirds eng ... alleine in 2019 habe ich 59.000 PDFs gefunden ;)
Stimmt, da war ja was. Ich glaube der Hot Folder ist beim FineReader sogar auf 5.000 Seiten/Monat beschränkt!
Aber das Problem wirst Du bei den meisten Lösungen haben. BTW: Hab gerade mal nachgeschaut. OCR Console ist auf 25.000 Seiten/Monat beschränkt.
Ich hab vor ein paar Jahren mal ein AutoHotKey-Script gebastelt, mit dem ich Abbyy FineReader Pro automatisiert hab. Damit konnte ich dann unbeschränkt gescannte Dateien in searchable PDF umwandeln. Sozusagen ein Batch-Mode per Hintertür.
Zitat von @monstermania:
Ich hab vor ein paar Jahren mal ein AutoHotKey-Script gebastelt, mit dem ich Abbyy FineReader Pro automatisiert hab. Damit konnte ich dann unbeschränkt gescannte Dateien in searchable PDF umwandeln. Sozusagen ein Batch-Mode per Hintertür.
Hab mal nach dem AutoHotkey Skript geschaut. War aber nicht für FineReader Pro, sondern für FineReader Sprint 12.Ich hab vor ein paar Jahren mal ein AutoHotKey-Script gebastelt, mit dem ich Abbyy FineReader Pro automatisiert hab. Damit konnte ich dann unbeschränkt gescannte Dateien in searchable PDF umwandeln. Sozusagen ein Batch-Mode per Hintertür.
Aber sollte mit entsprechenden Anpassungen natürlich auch mit dem FR Pro laufen.
Der Abbyy Finereader Sprint muss einmalig manuell konfiguriert werden:
- Ausgabedateiformat (z.B. pdf/a)
- Zielverzeichnis der Ausgabedatei
Das Skript mit Autohotkey kompilieren.
Die EXE wird dann mit der zu konvertierenden Tif-Datei als Parameter aufgerufen (FR_ahk.exe "c:\scandatei.tif")
Anschließend wird dann der komplette Prozess automatisch durchgeführt. Wenn die Konvertierung erfolgreich war, findet man im Zielverzeichnis die "scandatei.pdf".
Über die Rückgabewerte der EXE lassen sich evtl. Fehler und deren Ursprungsort lokalisieren. Hat aber soweit ich mich noch erinnere problemlos mit mehreren Tausend Scandateien funktioniert (Multipage-Tif).
PS: Das Skript funktioniert nur mit der deutschen Sprach-Installation von FR Sprint!
Process, Priority,, High
DetectHiddenWindows, On
SetKeyDelay, 30, 10
KeyWait, LButton, L T2
KeyWait, MButton, L T2
KeyWait, RButton, L T2
SetTitleMatchMode 2
;Prüfen, ob ABBYY FineReader Sprint aktiv ist
Process, Exist, sprint.exe,
if ErrorLevel ; The PID ist vorhanden
ExitApp, -1
;Prüfen, ob eine zu konvertierende Datei übergeben wurde
if 0 < 1 ; Die linke Seite einer if-Anweisung ohne Ausdruck ist immer der Name einer Variable.
{
ExitApp, -2
}
; Startet Abbyy Finereader Sprint und übergibt die zu konvertierende Datei
Run, %A_ProgramFiles%\ABBYY FineReader 12 Sprint\sprint.exe %1%
;Warte, bis FineReader Sprint gestartet
WinWait, ABBYY FineReader 12 Sprint, , 5
IfWinExist, ABBYY FineReader 12 Sprint,
{
;Warten bis der Seitenimport in Finereader abgeschlossen ist...
WinWait, Bilder werden geladen -, Verarbeite Seiten..., 5
IfWinExist, Bilder werden geladen -, Verarbeite Seiten...
{
WinWaitClose
}
else
{
RunWait, taskkill /f /im sprint.exe
ExitApp, -3 ;Programm beendet da Fehler bei Seitenimport
}
If WinExist("ahk_class FineReaderSprint12MainWindowClass")
{
WinActivate ; Verwendet das zuletzt gefundene Fenster.
ControlSend, , {LControl down}s{LControl up} ; Sende Control + S -> Speichern unter
WinWait, Speichern unter, ShellView, 5
IfWinExist, Speichern unter, ShellView
{
WinActivate, Speichern unter
ControlClick, Button3, Speichern unter ; Sende Click auf 'Speichern'
Sleep 300
;Ggf. Ausgabedatei überschreiben
WinGetActiveTitle, Titel
If (Titel = "ABBYY FineReader 12 Sprint")
{
WinActivate
ControlClick, Button1, ABBYY FineReader 12 Sprint ; Sende Click auf 'OK'
}
;Warten bis Konvertierung abgeschlossen ist...
WinWait, Seiten werden konvertiert -, Konvertiere zu, 5
IfWinExist, Seiten werden konvertiert -, Konvertiere zu
{
WinWaitClose
}
else
{
RunWait, taskkill /f /im sprint.exe
ExitApp, -4 ;Programm beendet da Fehler
}
}
else
{
RunWait, taskkill /f /im sprint.exe
ExitApp, -5 ;Programm beendet da Fehler
}
}
If WinExist("ahk_class FineReaderSprint12MainWindowClass")
{
WinActivate ; Verwendet das zuletzt gefundene Fenster.
ControlSend, , {LControl down}q{LControl up} ; Sende Control + q -> Quit
ExitApp, 1 ; Skript erfolgreich beendet
}
}
;Prüfen, ob ABBYY FineReader Sprint läuft
Process, Exist, sprint.exe,
if ErrorLevel ; The PID ist vorhanden
Process, WaitClose, sprint.exe, 5 ;Versuche FineReader zu beenden
ExitApp, 0 ;FineReader war nicht anteuerbar -> Exit