OCRmyPDF

Da es leider immer wieder vorkommt, dass die Originaldateien eingescannter Texte nicht mehr vorliegen (oder nicht mehr gefunden werden können), muss in diesen Fällen eine Texterkennung bemüht werden, um aus den Bilddateien in den PDFs editierbaren Text zu erzeugen. Das Kommandozeilentool OCRmyPDF von James Barlow ist diesbezüglich eine unglaubliche Hilfe.

Die Installation unter Windows ist nicht so einfach wie unter Linux. Folgende Eingaben vereinfachen die Installation unter Windows und sind auch für ungeübte Nutzer einfach zu bewerkstelligen.

Folgende Programme müssen installiert werden:

  • Python 64-bit
  • Tesseracht 64-bit
  • Ghostscript 64-bit

Man öffnet am einfachste mit Windos + x Taste ein Auswahlfenster und wählt dort Windows PowerShell aus und kopiert die untenstehenden Anweisungen in das Terminal Fenster hinein. Nach jeder Zeile mit Return bestätigen und warten bis der Befehl abgearbeitet ist!

  • winget install -e --id Python.Python.3.14
  • winget install -e --id UB-Mannheim.TesseractOCR
  • py -m pip install ocrmypdf

Leider kann Ghostscript im Moment nicht mit Winget installiert werden. folgender Link führt zum Download von Ghostscript. Die Exe Datei muss danach installiert werden.

Um OCRmyPdf zu starten tippt man wieder Windows + X Taste alternativ Windows + r Taste und cmd eingeben. Im Terminalfenster folgendes eintippen und mit Return Taste abschliessen:

  • py -m ocrmypdf Eingabe.pdf Ausgabe.pdf

Wenn kein neuer Name eingegeben wird, wird das Original PDF überschrieben, was gewisse Risiken beinhaltet. Noch einfacher ist es, wenn ein Verzeichnis angelegt wird, in welches die umgewandelten Dateien gespeichert werden. Zum Beispiel:

  • %userprofile%\Documents\NeuerOrdnerName\ Den NeuerOrdnerName nach Wunsch zuerst erstellen und den Namen anpassen.

Damit werden alle Konflikte zum Vornhinein vermieden.

OCRmyPDF-Optionen

OptionFunktion
-hHilfefunktion
-vAusführlichkeit der Meldungen erhöhen (diese Option kann mehrfach verwendet werden)
-kTemporärdateien nicht löschen (Speicherort ist standardmäßig OCRmyPDF-x.x/tmp/DATUM_UHRZEIT.filename.EINGABE ohne Endung)
-gDebug-Modus:
– erstellt eine PDF-Datei, in der jede Seite zweimal vorhanden ist (einmal nur mit der Textlage und den „bounding boxes“, einmal mit dem Bild; siehe Abbildung)
– Ausführlichkeit wird auf das höchstmögliche Level gestellt
– die Temporärdateien werden nicht gelöscht, es wird ein Log zur PDF-Überprüfung angelegt
-dJede Seite vor der Texterkennung geradeziehen (mit convert aus ImageMagick)
-cJede Seite vor Texterkennung säubern (mit unpaper)
-iDas gesäuberte Bild in der Ausgabe-PDF-Datei verwenden (Standard ist es, das Original zu verwenden, oder die geradegezogene Version, wenn die -d-Option gesetzt ist)
-oFalls die Auflösung eines Vorlagebildes niedriger sein sollte als die per Argument angegebene Auflösung in dpi, wird für die Texterkennung ein „oversampled“ Bild mit letzterer Auflösung erstellt. Dadurch kann die Texterkennung verbessert werden, führt aber ggf. zu größeren PDF-Ausgabedateien (Standard: keine Verwendung von oversampled Vorlagen)
-fErzwinge eine Texterkennung für das gesamte Dokument, selbst wenn einige Seiten bereits Font-Daten enthalten (was bei PDF-Dateien aus Scans eigentlich nicht vorkommen sollte). Nutzung allerdings mit Bedacht, da bei überdimensionierten PDFs einen sehr hohe CPU/Arbeitsspeicher-Last entstehen kann!.
-lAngabe der Sprache in der PDF-Datei als 3-stelliger Sprachcode (ISO 639-2), z.B. „deu“ für deutsch. Die Texterkennung wird dadurch verbessert (Standard ohne Angabe ist Englisch). Jede von Tesseract unterstützte Sprache ist möglich.
-CAngabe einer zusätzlichen tesseract-Konfigurationsdatei (diese Option kann mehrfach verwendet werden). Die Konfigurationsdatei muss sich im tessdata/configs-Verzeichnis der tesseract-Installation befinden, normalerweise /usr/share/tesseract/ zu finden. Die mitgelieferte Datei tess-cfg/no_ligature, die die Verwendung der f-Ligaturen  und  verhindert, muss zur Nutzung entsprechend verschoben werden.
-sÜberspringt bei der Texterstellung alle Seiten, in denen schon Text enthalten ist, die Seiten werden aber in das Dokument aufgenommen. Sinnvoll für Seiten, die eine Mixtur aus Bildern, Textseiten und /oder bereits mit OCR versehenen Lagen beinhalten.
–output-type {pdfa,pdf,pdfa-1,pdfa-2,pdfa-3}Legt das Ausgabeformat fest – pdfa erzeugt eine dem PDF/A-2b-Standard entsprechend Datei zur Langzeit-Archivierung (empfohlen, Standardeinstellung). Mit pdf wird versucht, die Eingabedateiinhalte so wenig als möglich zu verändern. Mit pdf-a1 wird eine PDF/A1-b Datei erstellt, pdf-a2 entspricht pdfapdf-a3 erzeugt eine PDF/A3-b-Datei.

Die Hilfefunktion liefert Informationen zu einer Vielzahl weiterer Optionen.