OCRmyPDF und Tesseract
OCRmyPDF steuert Tesseract für Deutsch und Englisch. Es richtet schiefe Seiten gerade, dreht falsch ausgerichtete Seiten und erzeugt den positionsgenauen Textlayer der schnell verfügbaren, durchsuchbaren PDF.
OCR-Verarbeitung im eigenen Netz
Scanworker ist lokale OCR-Software für Duplex-Scans, verbindet Vorder- und Rückseitenscans zu einem Dokument, richtet Seiten aus und liefert früh ein durchsuchbares PDF. Eine langsamere lokale VLM-Analyse läuft unabhängig im Hintergrund.
Ich nutze einen Brother MFC-J6710DW. Sein automatischer Dokumenteneinzug scannt nur einseitig: Für einen Papierstapel erfasse ich deshalb zuerst alle Vorderseiten und nach dem Wenden alle Rückseiten. Brother bietet für genau dieses Modell keine Funktion an, die diese beiden einseitigen Durchläufe nach diesem Verfahren automatisch zu einem korrekt sortierten, doppelseitigen Dokument verbindet. Um diese Lücke zu schließen, habe ich Scanworker entwickelt. Mehr zu mir und weiteren Projekten steht auf ralfhartmann.dev.
Aus einem konkreten Bedarf entstandenScanworker prüft die beiden Scanläufe, kehrt die Reihenfolge der Rückseiten um, verschachtelt Vorder- und Rückseiten und ergänzt anschließend die Texterkennung. Was als Lösung für meinen eigenen Scanner begann, funktioniert dadurch auch mit anderen Geräten, die nur einen einseitigen ADF besitzen.
Der Papierstapel wird zweimal durch den Scanner geführt. Nach dem ersten Durchlauf wird der komplette Stapel unverändert aus dem Ausgabefach genommen, flach in seiner Ebene um 180 Grad gedreht und erneut eingelegt. Dabei wird der Stapel nicht umgekippt, und einzelne Blätter werden nicht gewendet. Anschließend werden beide PDF-Dateien von Scanworker zum richtigen doppelseitigen Dokument geordnet.
Den passenden Eingang wählenDie beiden PDF-Dateien eines Simplex-Zweilaufs gehören in DUPLEX_INPUT_DIR; Scanworker paart und verschachtelt sie automatisch. Ein Duplex-ADF, der bereits eine vollständige PDF erzeugt, und ein gewöhnlicher einseitiger Scan gehören in SINGLE_INPUT_DIR. Dort beginnt die Texterkennung automatisch und ohne Zusammenführung.
Die schnelle Ausgabe wartet nicht auf die rechenintensive Analyse. Jeder Verarbeitungsschritt veröffentlicht ein eigenes, eindeutig bezeichnetes Ergebnis.
Zwei zusammengehörige Simplex-PDFs werden geprüft, die Rückseiten umgekehrt und anschließend korrekt ineinander verschachtelt. Schlägt die automatische Erkennung fehl, lassen sich genau zwei Eingangs-PDFs manuell erneut einreihen – gestartet wird nur bei gleicher Seitenzahl.
OCRmyPDF und Tesseract erkennen Deutsch und Englisch, drehen falsch ausgerichtete Dokumente und führen mehrere unabhängige Seitenjobs parallel aus.
PaddleOCR-VL analysiert Layout und Text seitenweise. Das normalisierte Ergebnis mit Layoutdaten bleibt als eigenes JSON-Artefakt erhalten.
Die drei lokalen OCR-Wege haben getrennte Aufgaben und veröffentlichen deshalb unterschiedliche Ergebnisse.
OCRmyPDF steuert Tesseract für Deutsch und Englisch. Es richtet schiefe Seiten gerade, dreht falsch ausgerichtete Seiten und erzeugt den positionsgenauen Textlayer der schnell verfügbaren, durchsuchbaren PDF.
Der lokale VLM-Dienst analysiert jede Seite und liefert Markdown, normalisierten Text, Layoutblöcke und Bounding Boxes als JSON. Der Textlayer der „enhanced PDF“ stammt derzeit weiterhin aus Tesseract.
Optional rendert Poppler die PDF-Seiten mit 300 dpi; Tesseract erkennt geeignete Bereiche, Apple Vision Text und Positionen. pikepdf schreibt daraus einen unsichtbaren Textlayer in eine eigene Vision-PDF.
Die Weboberfläche aktualisiert Queue, Seitennummer, Fortschritt, OCR-Dienst und geschätzte Restzeit live über WebSocket. Weitere Paare lassen sich bereits während eines laufenden Jobs einreihen. Aktuelle und wartende Jobs stehen getrennt von der Historie; wartende und historische Einträge können entfernt werden, ohne die zugehörigen PDFs zu löschen.
Sofort nach dem sicheren Zusammenführen verfügbar, noch ohne Textlayer.
Positionsgenauer Tesseract-Textlayer, automatische Ausrichtung und inhaltsbasierter Dateiname.
Paddle-Markdown, normalisierter Dokumenttext, Seitenbezug, Bounding-Box-Daten und geprüfte seitenübergreifende Wortverbindungen.
Bewusste technische GrenzeDer VLM-Text wird noch nicht als positionsgenauer PDF-Textlayer ausgegeben. Die Bounding Boxes bleiben für diese spätere Erweiterung erhalten; das „enhanced PDF“ verwendet derzeit weiterhin Tesseract für den Textlayer.
Scanworker läuft als unprivilegierte systemd-Dienste. Zustände und Queue sind dauerhaft gespeichert, Veröffentlichungen atomar und unvollständige Jobs nach einem Neustart wieder aufnehmbar.
Reproduzierbares .deb sowie PKG/DMG-Builds, semantische Versionen und getrennte Entwicklungs- und Release-Artefakte.
OCR und Dokumentanalyse bleiben im vertrauenswürdigen Netz. Remote-VLM-Ziele müssen ausdrücklich erlaubt werden.
Seitenzahl und Vorschau stehen direkt in der Bibliothek. Ein Klick auf jeden Tabellenkopf sortiert auf- oder absteigend; ein kleiner Pfeil zeigt die Richtung, standardmäßig stehen die neuesten PDFs oben.
Freiwillige Unterstützung
Scanworker ist freie Software und bleibt kostenlos. Die Weiterentwicklung kann freiwillig über PayPal unterstützt werden. Aus einer Zahlung entstehen keine zusätzlichen Rechte, Leistungen oder Vorteile.