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
deunicht 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:
ocrmypdfpytesseractopenaiwatchdogPyMuPDF
-
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\Newauf 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\Processedgespeichert. - Die Originaldatei wird in den Ordner
D:\PyDMS\Archiveverschoben.
-
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 OrdnerNewbefindet. 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.