ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

pdfocr

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png pdfocr {en} ist ein Programm, das es ermöglicht, aus gescannten PDF-Vorlagen durchsuchbare Dokumente zu machen. Das in Ruby verfasste Skript greift dabei zur Texterkennung auf das OCR-Programm Cuneiform-Linux zurück und verwendet zur Zusammenführung des Originals mit der Texterkennung hocr2pdf aus ExactImage. Außerdem kommen pdftk und pdfimages zum Einsatz.

Das Programm ist ein reines Kommandozeilenwerkzeug ohne grafische Oberfläche. Siehe auch Alternativen.

Voraussetzungen

Für pdfocr wird eine Installation[1] von

  • ruby

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install ruby 

sudo aptitude install ruby 

benötigt.

Installation

Das Programm selbst ist bisher nicht in den Ubuntu-Paketquellen vorhanden. Die einfachste Installationsart besteht über das Projekt-PPA.

Adresszeile zum Hinzufügen des PPAs:

  • ppa:gezakovacs/pdfocr

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team gezakovacs.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Nach der Einrichtung des PPAs wird das folgende Paket installiert:

  • pdfocr (ppa)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install pdfocr 

sudo aptitude install pdfocr 

Dabei wird aus dem PPA auch eine neue Versionen von Cuneiform-Linux installiert. Wer das nicht möchte, sollte pdfocr aus der Git-Quelle des Projektes {dl} beziehen (und selbst installieren). Für 11.10 Oneiric Ocelot ist noch kein Paket im PPA vorhanden. Man kann aber das Paket für Ubuntu 11.04 verwenden.

Hinweis:

Leider funktioniert die hOCR-Funktion in der Cuneiform-Version 0.9.0 und höher (die im PPA verwendete wird) im Zusammenspiel mit hocr2pdf nicht richtig. Nach der Zusammenführung der Bildebene mit der erstellten .hocr-OCR-Datei kann die Schrift teilweise in überdimensionierter Größe dargestellt werden, sodass die Passung nicht stimmt und im schlimmsten Fall sogar Teile des OCR-Ergebnis in der erstellten PDF-Datei gar nicht mehr vorhanden sind.

Die in den offiziellen Paketquellen bis Ubuntu 11.04 vorhandene Version 0.7.0 liefert in diesem Zusammenhang derzeit wesentlich bessere Ergebnisse. Ab Ubuntu 11.10 ist in den Paketquellen Cuneiform-Version 1.1.0 enthalten, das ebenfalls von dem beschriebenen Problem betroffen ist.

Bedienung

pdfocr ist ein Skript, das folgende Schritte automatisiert:

  1. Aufteilung einer mehrseitigen PDF-Datei in Einzelseiten (bei Bedarf, via pdftk)

  2. Extrahieren der Bild-Daten mit pdfimages

  3. Ausführung der Texterkennung mittels Cuneiform-Linux (Ausgabe im hOCR-Format)

  4. Einfügen des Textes in die PDF-Datei mit hocr2pdf

  5. Wiederzusammenführung der Dateien (bei Bedarf, via pdftk)

Es können die Schritte daher auch einzeln angepasst ausgeführt werden, wenn andere Einstellungen als im Standard vorgegeben erwünscht sind. Die "Passung" der Lagen ist abhängig vom Ausgangsmaterial, dabei sind die Ergebnisse für reine Textvorlagen erfahrungsgemäß besser als für PDF-Dateien mit vielen Bildern.

pdfocr wird auf der Kommandozeile[2] ausgeführt, die allgemeine Syntax lautet:

pdfocr -i input.pdf [-OPTIONEN] -o output.pdf 

Folgende Optionen stehen zur Verfügung:

pdfocr-Optionen
Aufruf Funktion
-l, --lang [LANG] zu verwendende Sprache für cuneiform festlegen
-w, --workingdir [DIR] Ordner für die Temporärdateien festlegen
-k, --keep die Temporärdateien nicht löschen

Alternativen

  • gscan2pdf liefert momentan mit dem OCR-Engine tesseract-ocr die besten Ergebnisse für "Sandwich-PDFs", da damit auch eine akzeptable Layout-Erkennung für die Passung der Lagen möglich ist.

  • xsane2sandwich ist ein Wrapper-Skript, mit dem aus XSane heraus Sandwich-PDFs mit Textlage direkt erstellt und auch erweitert werden können; zur Texterkennung wird tesseract verwendet.

  • pdfsandwich beschreitet einen ganz ähnlichen Weg wie pdfocr, seit Version 0.0.5 auch mit tesseract als OCR-Engine. Die Ergebnisse sind momentan wesentlich besser als mit pdfocr.

  • In diesem Blogeintrag {en} von Konrad Voelkel wird eine ähnliche Vorgehensweise beschrieben.

  • ocrodjvu ist ein neu entwickeltes Programm, um Texterkennung für DjVu-Dateien durchzuführen. Eine Konvertierung von PDF-Dateien kann mittels pdf2djvu erfolgen, mit xsane2djvu auch eine direkte Erstellung. Die Texterkennung arbeitet generell zuverlässiger und die Dateien sind bei gleicher Qualität wesentlich kleiner.

ubuntuusers.local › Wikipdfocr