Beschreibung des Scripts
Dieses Python-Script ist ein PDF-OCR-Tool, das gescannte PDF-Dokumente automatisiert mit Tesseract OCR durchsucht und durchsuchbaren Text erzeugt. Es überprüft zunächst, ob eine PDF-Datei bereits eine durchsuchbare Textschicht besitzt. Falls nicht, wird jede Seite als Bild extrahiert, automatisch gedreht (um z.B. falsch orientierte Seiten gerade auszurichten) und per Tesseract OCR in ein neues PDF mit Textschicht umgewandelt.
Hauptfunktionen:
-
Ghostscript-Suche: Das Script findet automatisch den Ghostscript-Pfad (zur PDF/A-Konvertierung).
-
Textschicht-Erkennung: Mit Ghostscript wird geprüft, ob die PDF schon Text enthält (OCR dann nicht nötig).
-
OCR mit Tesseract: Jede PDF-Seite wird als Bild geladen, automatisch rotiert (mittels Tesseract’s OSD) und OCR durchgeführt.
-
Rotation: Falsch ausgerichtete Seiten werden vor OCR korrigiert.
-
PDF/A-Konvertierung: Optional kann das Ergebnis in ein PDF/A-konformes Format konvertiert werden (für Langzeitarchivierung).
-
Dateimanagement: Original-PDFs werden in einen Unterordner „erledigt“ verschoben, die OCR-PDFs in „mit_OCR“.
-
Logging: Vorgänge und Fehler werden in einer CSV-Datei protokolliert.
-
GUI: Einfaches Tkinter-Interface zur Auswahl des Quellordners, Ghostscript-Pfads, Spracheinstellungen (Deutsch, Englisch, Deutsch+Englisch), PDF/A-Option und Steuerung (Start, Pause, Fortsetzen, Abbrechen).
Notwendige Tools und Bibliotheken
-
Python (3.7+)
Das Script benötigt Python 3, am besten eine aktuelle Version 3.7 oder höher.
-
Ghostscript
-
Wird zur Überprüfung von Textschichten und zur optionalen PDF/A-Konvertierung verwendet.
-
Download: https://ghostscript.com/releases/
-
Für Windows meist gswin64c.exe
unter C:\Program Files\gs\gsXXX\bin\
.
-
Tesseract OCR
-
Open-Source OCR Engine zur Texterkennung aus Bildern.
-
Download: https://github.com/tesseract-ocr/tesseract
-
Wichtig: Sprachpakete installieren (z.B. deutsch, englisch).
-
Muss in der Umgebungsvariable PATH
oder explizit konfiguriert sein.
-
Python-Bibliotheken (können mit pip installiert werden):
-
pytesseract
(Python-Wrapper für Tesseract)
-
pdf2image
(wandelt PDF-Seiten in Bilder um, benötigt poppler
)
-
PyPDF2
(zum Lesen und Schreiben von PDFs)
-
Pillow
(PIL-Fork, für Bildverarbeitung)
-
tkinter
(für GUI, meist bei Python dabei)
-
shutil
, subprocess
, csv
, threading
(Standardmodule)
-
Poppler
Arbeitsweise kurz zusammengefasst
-
Nutzer wählt Quellordner und Ghostscript-Exe aus, setzt Optionen in GUI.
-
Das Script durchsucht rekursiv alle PDFs im Ordner.
-
Für jede PDF prüft es, ob Text vorhanden ist.
-
Wenn ja, verschiebt die Datei in „erledigt“.
-
Wenn nein, wandelt jede Seite in ein Bild, rotiert die Seite falls nötig, führt OCR durch und erzeugt neue PDF.
-
Optional wird PDF/A-Format mit Ghostscript erstellt.
-
Ergebnisse werden in „mit_OCR“ abgelegt, Originaldateien in „erledigt“.
-
Fortschritt wird angezeigt, Protokoll wird gespeichert.
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!