Ubuntu 13.04 „Raring Ringtail“
Ubuntu 12.10 „Quantal Quetzal“
Ubuntu 12.04 „Precise Pangolin“
ocrodjvu
ist eine Kommandozeilen-Werkzeug zum Erstellen einer versteckten Textlage für DjVu-Daten, das auf DjVuLibre
fußt. Dazu können die Programme tesseract-ocr, Cuneiform-Linux gocr und/oder ocrad für die eigentliche Texterkennung genutzt werden. Der Wrapper, verfasst in Python, wurde u.a. für das polnische poliqarp-Projekt
eingesetzt.
Seit Ubuntu 10.04 ist das Programm in den Quellen, installiert[1] werden müssen die Pakete
ocrodjvu (universe)
cuneiform (optional)
tesseract-ocr (sowie die gewünschten Sprachpakete, optional)
gocr (optional)
ocrad (optional)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install ocrodjvu cuneiform tesseract-ocr gocr ocrad
sudo aptitude install ocrodjvu cuneiform tesseract-ocr gocr ocrad
Leider findet die in den Quellen für Ubuntu 12.04 vorliegende ocrodjvu-Version 0.7.7 ggf. tesseract-ocr nicht. Abhilfe schafft aber die Installation von ocrodjvu 0.7.9 (ab Ubuntu 12.10 in den Quellen) oder höher aus dem Quellcode; damit kann tesseract-ocr wieder problemlos verwendet werden.
ocrodjvu wird aktiv weiterentwickelt und die Versionen in den Quellen sind oft veraltert, daher ist es ggf. sinnvoll, sich die aktuelle Version aus dem Quellcode selbst zu erstellen[2]. Dazu wird der Code von pypi.python.org
als .tar.gz heruntergeladen und das Archiv entpackt[3]. Die Installation erfolgt über das setup.py-Skript (zunächst ausführbar machen![4]), ein einfaches Paket lässt sich z.B. mit dem Befehl [5][6]
sudo checkinstall python setup.py install
erstellen und installieren (siehe auch Installationsskripte).
Außerdem muss dazu das Paket
python-lxml
mit apturl
Paketliste zum Kopieren:
sudo apt-get install python-lxml
sudo aptitude install python-lxml
installiert sein.
Die allgemeine Syntax auf der Kommandozeile[5] lautet
ocrodjvu {-o | --save-bundled} AUSGABE.djvu [OPTION(EN)...] EINGABE.djvu zur Erstellung eines bundled-Dokuments, bzw.
ocrodjvu {-i | --save-indirect} INDEX-DATEI [OPTION(EN)...] EINGABE.djvu um ein indirect-Dokument zu erstellen. Dazu sollte ein Ordner mit dem Namen der Index-Datei existieren, in den dann die Indexdatei selbst und alle weiteren Dateien abgelegt werden. Ansonsten werden alle Daten im gerade genutzten Verzeichnis abgelegt.
Um z.B. mit XSane o.ä. selbsterstellte und mit pdf2djvu oder DjVuDigital ins DjVu-Format konvertierte PDF-Dateien mit einer Textlage zu versehen, ist die Option --render all nötig, da die standardmäßig verarbeitete bitonale Lage (mask) nicht vorhanden ist, und ocrodjvu eine Fehlermeldung ausgibt. Das gilt auch farbige mit gscan2pdf erstellte DjVu-Dateien ohne Textlage. Das Programm xsane2djvu verwendet ocrodjvu, um direkt die Textlage aus der dort erstellten "foreground-mask" für ein gescanntes Dokument zu erstellen.
Das Programm kann durch vielfältige Optionen gesteuert werden.
| Optionen für ocrodjvu | |
| Argument | Funktion |
| OCR-Anwendungen | |
--list-engines | listet die installierten OCR-Anwendungen auf |
--engine OCR-ANWENDUNG --list-languages | listet die installierten Sprachen für die jeweiligen OCR-Programme auf |
--engine OCR-ANWENDUNG | zu verwendendes OCR-Programm (Standard: ocropus, ab 10.10 ist ein andere Angabe nötig!) |
--language SPRACHKÜRZEL | zu verwendende Sprache (Standard eng) |
| zusätzliche spezielle Erkennungsfunktionen | |
--ocr-only | Seiten ohne Texterkennung werden nicht bearbeitet |
--clear-text | vorher bereits existierender Text wird entfernt |
--render {foreground,all,mask} | Angabe, welche Ebene bearbeitet werden soll, sinnvoll z.B. für fehl-gesplittete Dateien (Standard: mask) |
-p SEITENZAHLEN/BEREICHE, --pages SEITENZAHLEN/BEREICHE | Seiten/Bereiche, die bearbeitet werden sollen, durch Kommata getrennt (z.B. 1-7, 9, 13-15) |
-t {lines,words,chars}, --details {lines,words,chars} | Angabe zu Erkennungsdetails - Zeilen, Wörter oder Buchstaben (Standard: words) |
--word-segmentation {simple,uax29} | zu verwendender Wort-Aufteilungs-Algorithmus, jede zusammenhängende Zeichenfolge oder uax29 ![]() |
| mögliche Ausgabeformen | |
-o DATEINAME, --save-bundled DATEINAME | Resultat als mehrseitiges "bundled"-Dokument speichern |
-i INDEX DATEINAME, --save-indirect INDEX-DATEINAME | Resultat als mehrseitiges "indirect"-Dokument speichern |
--save-script DATEINAME | Resultate werden als Skript für djvused ausgegeben |
--in-place | Resultate werden direkt im Terminal ausgegeben |
--dry-run | Testdurchlauf, keine Änderungen an den Daten |
| Sonstiges | |
-D, --debug | Debugging, tempöräre Dateien bleiben zur Kontrolle erhalten |
-j [N], --jobs [N] | Anzahl der parallel auszuführenden OCR-Prozesse |
-h, --help | Hilfe, listet die möglichen Optionen auf |
-v, --version | gibt die Versionsnr. des Programms aus |
Weitere Informationen liefert die Manpage des Programms.
Ggf. funktioniert ocrodjvu bei Vorlagen mit Auflösungen höher als 300 dpi insbesondere bei Verwendung von Cuneiform nicht einwandfrei und stürzt ab; bis 300 dpi sollte es aber kein Probleme geben. Ggf. hilft es, das Programm mit dem Befehl
ocrodjvu [OPTION(EN)] </dev/null
aufzurufen, zumindest funktioniert damit auch die Verarbeitung 600-dpi-Scans unter Verwendung von Cuneiform-Linux.
Allerdings erhöht sich die Verarbeitungsdauer bei Verwendung von höheren dpi-Werten, auch für tesseract-ocr, enorm, die Verarbeitung eines 600dpi-A4-Scan kann bereits auf einem modernen Rechner mehrere Minuten in Anspruch nehmen!
Insbesondere bei verschachtelten farbigen Vorlagen kommt es mit tesseract-ocr als OCR-Anwendung z.T. zu Abbrüchen mit Meldungen zu nicht verarbeitbaren Zeichen, ocrodjvu stürzt mit Fehlermeldungen ab. Das Problem lässt sich mit der Verwendung einer aktuellen Version von ocrodjvu aus dem Quellcode umgehen, im Log tauchen zwar ggf. weiterhin Meldungen auf, die Verarbeitung wird aber nicht abgebrochen.
gscan2pdf kann verschiedene OCR-Programme verwenden; sinnvoll allerdings erst ab 0.9.31 mit implementierter Cuneiform-Unterstützung
xsane2djvu und pct-scanner-script können ocrodjvu zur Texterkennung verwenden
Kommerzielle Programme von Celaterm 
any2djvu
, Texterkennung ist allerdings nur für englische Texte zu empfehlen; außerdem muss eine bitonale "foreground mask" vorliegen.
Diese Revision wurde am 28. April 2013 22:45 von Heinrich Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen:
djvu, Büro, Texterkennung, Grafik, Kommunikation, Bildung, OCR
2004 – 2013 ubuntuusers.de • Einige Rechte vorbehalten