Dieses Python-Skript automatisiert die Texterkennung (OCR) und die Umwandlung von PDFs in durchsuchbare PDFs. Es überwacht einen Ordner auf neue PDFs, extrahiert relevante Informationen mithilfe von GPT, und speichert die verarbeiteten PDFs in einem definierten Ordner.
Bevor du das Skript ausführst, stelle sicher, dass folgende Programme und Python-Pakete installiert sind:
Ghostscript ist notwendig, damit OCRmyPDF
korrekt funktioniert. Installiere Ghostscript und füge es zu deinem PATH
hinzu.
- Download: Ghostscript Download
- Installiere Ghostscript und füge den Installationspfad zu deinem System-PATH hinzu (z.B.
C:\Program Files\gs\gs9.55.0\bin
).
Tesseract ist die OCR-Engine, die von OCRmyPDF
verwendet wird.
- Download: Tesseract-OCR Download
- Installiere Tesseract und füge den Installationspfad zu deinem System-PATH hinzu (z.B.
C:\Program Files\Tesseract-OCR
). - Stelle sicher, dass das deutsche Sprachpaket installiert ist:
Wenn
tesseract --list-langs
deu
nicht aufgelistet ist, lade es hier herunter und füge es in dentessdata
-Ordner von Tesseract hinzu.
Folgende Python-Pakete müssen installiert werden. Verwende den Befehl pip install
, um sie zu installieren:
pip install ocrmypdf pytesseract openai watchdog PyMuPDF
- Ghostscript
- Tesseract-OCR (inkl. deutschem Sprachpaket)
- Python-Pakete:
ocrmypdf
pytesseract
openai
watchdog
PyMuPDF
-
Klone dieses Repository:
git clone https://github.com/dein-benutzername/pyDMS.git
-
Installiere die oben aufgeführten Abhängigkeiten.
-
Hinterlege deinen OpenAI API-Schlüssel in der Datei
openaikey.py
, indem du ihn in folgender Struktur speicherst:# openaikey.py api_key = "dein-openai-api-schlüssel"
-
Starte das Skript:
python main.py
- Das Skript überwacht den Ordner
D:\PyDMS\New
auf neue PDFs. - Sobald eine PDF erkannt wird, wird eine Texterkennung (OCR) mithilfe von Tesseract und OCRmyPDF durchgeführt.
- Die extrahierten Informationen (Datum, Absender, Grund) werden mit GPT analysiert.
- Die durchsuchbare PDF wird im Ordner
D:\PyDMS\Processed
gespeichert. - Die Originaldatei wird in den Ordner
D:\PyDMS\Archive
verschoben.
-
Passe den überwachten Ordner, den Output-Ordner sowie den Archiv-Ordner im Skript an:
- Überwachter Ordner:
D:\PyDMS\New
- Verarbeiteter Output:
D:\PyDMS\Processed
- Archiv:
D:\PyDMS\Archive
- Überwachter Ordner:
-
Erstelle manuell einen
Temp
-Ordner im gleichen Verzeichnis, in dem sich auch der OrdnerNew
befindet. Dieser wird benötigt, um temporär Dateien während der Verarbeitung zu speichern.
Falls du auf Probleme stößt, öffne bitte ein Issue in diesem Repository.