Ich hatte Erfolg mit der von BSD lizenzierten Linux-Portierung des Cuneiform OCR-Systems.
Anscheinend sind keine Binärpakete verfügbar, daher müssen Sie sie aus dem Quellcode erstellen. Stellen Sie sicher, dass die ImageMagick C ++ - Bibliotheken installiert sind, um im Wesentlichen jedes Eingabebildformat zu unterstützen (andernfalls wird nur BMP akzeptiert).
Obwohl es abgesehen von einer kurzen README-Datei im Wesentlichen undokumentiert zu sein scheint, finde ich die OCR-Ergebnisse ziemlich gut. Das Schöne daran ist, dass es Positionsinformationen für den OCR-Text im hOCR- Format ausgeben kann, so dass es möglich wird, den Text an einer korrekten Position in einer verborgenen Ebene einer PDF-Datei wieder einzufügen. Auf diese Weise können Sie "durchsuchbare" PDFs erstellen, aus denen Sie Text kopieren können.
Ich habe hocr2pdf verwendet, um PDFs aus den Original-PDFs und OCR-Ergebnissen (nur Bilder) wiederherzustellen. Leider unterstützt das Programm die Erstellung mehrseitiger PDFs nicht. Daher müssen Sie möglicherweise ein Skript erstellen, um sie zu verarbeiten:
#!/bin/bash # Run OCR on a multi-page PDF file and create a new pdf with the # extracted text in hidden layer. Requires cuneiform, hocr2pdf, gs. # Usage: ./dwim.sh input.pdf output.pdf set -e input="$1" output="$2" tmpdir="$(mktemp -d)" # extract images of the pages (note: resolution hard-coded) gs -SDEVICE=tiffg4 -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input" # OCR each page individually and convert into PDF for page in "$tmpdir"/page-*.tiff do base="$" cuneiform -f hocr -o "$base.html" "$page" hocr2pdf -i "$page" -o "$base.pdf" < "$base.html" done # combine the pages into one PDF gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$output" "$tmpdir"/page-*.pdf rm -rf -- "$tmpdir"
Bitte beachten Sie, dass das obige Skript sehr rudimentär ist. Beispielsweise werden keine PDF-Metadaten gespeichert.