Raz3r
Ehrenmitglied
- 20.057
Hallo Zusammen.
Ich habe folgendes Szenario vor:
Da ich ocrmypdf unter OMV mit Docker nicht so wirklich zum Laufen gebracht habe (wenn jemand hier helfen kann, dann wäre mir das eh lieber), habe ich das Ganze unter Windows installiert.
Wenn ich in meinem Dokumentenordner via PowerShell das Programm per
starte, wird aus input.pdf eine neue PDF-Datei mit Namen output.pdf erzeugt, welche durchsuchbar ist. Soweit so gut.
Nun liegen meine PDF-Dateien in unterschiedlichen Ordnern auf meinem Server. Zum Beispiel in etwa so:
Somit wäre ein Script, weches alle Ordner und Unterordner durchforstet und aus den ursprünglichen Dateien neue, durchsuchbare Dateien macht, eine enorme Erleichterung. Also aus *.pdf (unbearbeitet) > *.pdf (bearbeitet).
Möglicherweise dann auch mit einer Funktion, dass in jedem Ordner die ursprünglichen Dateien, nach Abschluss der OCR-Bearbeitung, in einen Ordner wie z.B. \Backup verschoben werden. Das händische Löschen nach Überprüfung wäre kein Thema (Wäre nur Bonus, für alle Fälle sind Versionierung und div. Backups vorhanden).
Der Overkill wäre ein Script, dass zusätzlich meinen Scanordner überwacht und das Script startet, wenn eine neue PDF-Datei eingeht, diese mit ocrmypdf bearbeitet und dann in einen Eingangsordner auf meinem NAS verschiebt.
Das Script, welches in der Dokumentation benannt wird, macht micht leider nicht schlauer.
Wie Eingangs erwähnt, wäre mir natürlich am Liebsten, das Ganze auf meinem Server lauffähig zu bekommen. Da ich hier aber ebenfalls spätestens bei der Ordner-Überwachung und dem Script am Ende wäre, dachte ich, ich versuche mich über Windows. Leider scheitere ich am Script.
Vielen Dank schon einmal an alle für Eure Hilfe
Ich habe folgendes Szenario vor:
Da ich ocrmypdf unter OMV mit Docker nicht so wirklich zum Laufen gebracht habe (wenn jemand hier helfen kann, dann wäre mir das eh lieber), habe ich das Ganze unter Windows installiert.
Wenn ich in meinem Dokumentenordner via PowerShell das Programm per
Code:
ocrmypdf -l deu input.pdf output.pdf
Nun liegen meine PDF-Dateien in unterschiedlichen Ordnern auf meinem Server. Zum Beispiel in etwa so:
Code:
Dokumente>
>Versicherungen
>Verträge
>Verein
>Verein 1
>Verein 2
>Arbeit
>Privat
>Bank
>Bank 1
>Bank 2
Möglicherweise dann auch mit einer Funktion, dass in jedem Ordner die ursprünglichen Dateien, nach Abschluss der OCR-Bearbeitung, in einen Ordner wie z.B. \Backup verschoben werden. Das händische Löschen nach Überprüfung wäre kein Thema (Wäre nur Bonus, für alle Fälle sind Versionierung und div. Backups vorhanden).
Der Overkill wäre ein Script, dass zusätzlich meinen Scanordner überwacht und das Script startet, wenn eine neue PDF-Datei eingeht, diese mit ocrmypdf bearbeitet und dann in einen Eingangsordner auf meinem NAS verschiebt.
Das Script, welches in der Dokumentation benannt wird, macht micht leider nicht schlauer.
Code:
#!/usr/bin/env python3
# Original version by DeliciousPickle@github; modified
# This script must be edited to meet your needs.
import logging
import os
import sys
import ocrmypdf
# pylint: disable=logging-format-interpolation
# pylint: disable=logging-not-lazy
script_dir = os.path.dirname(os.path.realpath(__file__))
print(script_dir + '/batch.py: Start')
if len(sys.argv) > 1:
start_dir = sys.argv[1]
else:
start_dir = '.'
if len(sys.argv) > 2:
log_file = sys.argv[2]
else:
log_file = script_dir + '/ocr-tree.log'
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s %(message)s',
filename=log_file,
filemode='w',
)
ocrmypdf.configure_logging(ocrmypdf.Verbosity.default)
for dir_name, subdirs, file_list in os.walk(start_dir):
logging.info(dir_name + '\n')
os.chdir(dir_name)
for filename in file_list:
file_ext = os.path.splitext(filename)[1]
if file_ext == '.pdf':
full_path = dir_name + '/' + filename
print(full_path)
result = ocrmypdf.ocr(filename, filename, deskew=True)
if result == ocrmypdf.ExitCode.already_done_ocr:
print("Skipped document because it already contained text")
elif result == ocrmypdf.ExitCode.ok:
print("OCR complete")
logging.info(result)
Wie Eingangs erwähnt, wäre mir natürlich am Liebsten, das Ganze auf meinem Server lauffähig zu bekommen. Da ich hier aber ebenfalls spätestens bei der Ordner-Überwachung und dem Script am Ende wäre, dachte ich, ich versuche mich über Windows. Leider scheitere ich am Script.
Vielen Dank schon einmal an alle für Eure Hilfe
Zuletzt bearbeitet: