PDF-Fix Service für Paperless-NGX
pdf-fix ist ein leichtgewichtiger Microservice, der automatisch beschädigte PDF-Dateien erkennt, repariert und nahtlos in den Verarbeitungsprozess von Paperless-NGX integriert. Initiert wird dies durch ein Monitor-Skript, welches das Paperless-Logfile auf Importfehler bei der OCR-Erkennung überwacht. Es leitet problematische Dateien automatisch in den Reparaturkreislauf ein.
Funktionsumfang
- Paperless-Logmonitor (monitor-log.sh)
- Überwacht das Paperless-Log (paperless.log) auf Zeilen mit der Signatur:
- ConsumeTaskPlugin failed: .pdf: Error occurred while consuming document.
- Erkennt automatisch den betroffenen Dateinamen.
- Verschiebt die fehlerhafte Datei aus dem Paperless-Archiv zurück in den incoming-Ordner zur Reparatur
- PDF-Reparatur-Service (repair-pdf.sh)
- Überwacht einen definierten incoming-Ordner per inotifywait auf neue .pdf-Dateien.
- Repariert fehlerhafte PDF-Dateien mit Hilfe von Ghostscript.
- Funktioniert auch bei inkompatiblen / kaputten PDFs (z. B. fehlendes /Root-Dictionary, vorgekommen bei PDFs der DTAG).
- Vermeidet Endlosschleifen durch MD5-Hash-basierte Duplikaterkennung (processed.txt)
- Erfolgreich reparierte Dateien werden nach /watch/fixed verschoben oder bei Bedarf zurück nach Paperless (consume).
- Fehlgeschlagene Reparaturversuche werden nach /watch/broken verschoben.
Automatische Verarbeitungskette
- Paperless verarbeitet eingehende PDFs.
- Bei Fehler → Logging in paperless.log.
- monitor-log.sh erkennt den Fehler und verschiebt die Datei zurück in den Reparaturpfad.
- repair-pdf.sh behandelt die Datei.
- Erfolgreiche Dateien werden von Paperless erneut verarbeitet.