ubuntuusers.de

ubuntuusers.deWikidjvubind

djvubind

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

Wiki/Icons/terminal.png djvubind ist ein in Python verfasstes Kommandozeilen-Werkzeug, um aus selbsterstellten tiff-Vorlagen (z.B. Scan Tailor-Bearbeitungen) e-books im DjVu-Format zu erstellen. Das Programm setzt dabei zur Encodierung der DjVu-Daten minidjvu ein, für die durchsuchbare Textebene können tesseract-ocr oder Cuneiform-Linux verwendet werden; auch lassen sich djvused {en} Skript-Ausgaben verwenden, um Inhaltsverzeichnisse und Metadaten einzubinden. Zum Einsatz kommen außerdem djvulibre-bin und ImageMagick.

Installation

Benötigt werden die Pakete

  • python3-all

  • djvulibre-bin

  • imagemagick

  • tesseract-ocr (sowie die gewünschten Sprachpakete)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install python3-all djvulibre-bin imagemagick tesseract-ocr 

sudo aptitude install python3-all djvulibre-bin imagemagick tesseract-ocr 

Außerdem werden folgende Pakte empfohlen:

  • minidjvu

  • cuneiform

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install minidjvu cuneiform 

sudo aptitude install minidjvu cuneiform 

Das Programm selbst ist nicht in den Ubuntu-Paketquellen vorhanden.

Von der Projektseite {dl} kann aber ein .deb-Paket[1] oder ein Archiv heruntergeladen, entpackt [2] und installiert werden mit

sudo python3 setup.py install 

Hinweis!

Fremdsoftware kann das System gefährden.

Ein einfaches Paket lässt sich mit checkinstall erstellen und installieren:

sudo checkinstall python3 setup.py install 

Bedienung

djvubind ist ein reines Kommandozeilenwerkzeug, die allgemeine Syntax im Terminal[4] lautet:

djvubind [OPTIONEN] /zu/verarbeitendes/Verzeichnis 

Wenn der Aufruf direkt im Vorlagen-Verzeichnis selbst erfolgt, ist die Pfadangabe nicht nötig. djvubind verarbeitet dann alle im Verzeichnis vorhandenen schwarz-weißen tif/tiff-Dateien, die in durchnummerierter Form vorliegen müssen. Neben den Textseiten kann auch ein Cover und eine Rückseite integriert werden, diese sollten im jpg-Format als cover_front.jpg bzw. cover_back.jpg vorliegen. Das Ergebnis wird dann als book.djvu-Datei ausgegeben; falls eine solche Datei schon vorliegt, wird entsprechend book(1).djvu etc. ausgegeben. Djvubind verwendet automatisch mehrere Prozesse parallel (standardmäßig einen pro CPU-Kern), wenn es auf einem Mehrkern-Rechner läuft (in der Konfigurationsdatei anpassbar).

Konfigurationsdatei

Ab Version 1.0.0 ist der Einsatz einer eigenen Konfigurationsdatei implementiert, in der etliche Optionen (auch für das standardmäßig verwendete minidjvu) angegeben werden können. Die Datei wird im Verzeichnis /home/<benutzer>/.config/djvubind unter dem Namen config abgelegt. Im Quellverzeichnis unter /doc/config oder unter /etc/djvubind/config findet sich eine Beispielversion , die umfassend kommentiert ist. Diese kann in einem Editor[5] den eigenen Bedürfnissen entsprechend angepasst werden. Angaben auf der Kommandozeile werden aber bevorzugt, sodass zum temporären Ändern der Optionen die Konfigurationsdatei nicht editiert werden muss.

Optionen

djvubind
Option Funktion
--bookmarks=Dateiname Zu verwendende Bookmark-Datei. Das Format sollte dem entsprechen, was djvused -e 'print-out‐line ausgibt. Standardmäßig wird bookmark verwendet, wenn vorhanden.
--cover-front=Dateiname Zu verwendendes Cover, Standardmäßig wird cover_front.jpg verwendet, wenn vorhanden
--cover-back=Dateiname Zu verwendende Rückseite; Standardmäßig wird cover_back.jpg verwendet, wenn vorhanden
--metadata=Dateiname Zu verwendende Metadata-Datei. Das Format sollte dem entsprechen, was "djvused -e 'print-meta'" ausgibt. Standardmäßig wird die Datei metadata verwendet, wenn vorhanden
--no-ocr Keine Erstellung von Textebenen
--ocr-engine=(tesseract|cuneiform) Zu verwendendes OCR-Programm; Standard ist Tesseract
-q | --quiet Keine Ausgabe von Status-Informationen
--cuneiform-options="OPTION(EN)" Option, um andere Cuneiform-Optionen zu verwenden, z.B. Sprach-Optionen, Optionen müssen ggf. in "" gesetzt werden
--tesseract-options="OPTION(EN)" Option, um andere Tesseract-Optionen zu verwenden, z.B. Sprach-Optionen, Optionen müssen ggf. in "" gesetzt werden

Andere OCR-Engines verwenden

Wer andere Programme zur Texterkennung verwenden möchte, sollte djvubind mit der --no-ocr-Option verwenden. Die Texterkennung kann dann für das erstellte Dokument mit ocrodjvu erfolgen, was sehr detailiert konfigurierbar ist, und verlässliche Unterstützung für tesseract-ocr, OCRopus, Cuneiform-Linux, GOCR und Ocrad liefert. Auch die Verwendung von tesseract-ocr 3.00 ist ab Version 0.7.0 möglich.

Probleme

Cuneiform-Linux ist zwar als OCR-Engine vorgesehen, funktioniert allerdings momentan noch nicht zufriedenstellend. Mit Cuneiform-Linux in der Version 0.7.0 oder 0.8.0 kommt es meist zu einem "buffer-overflow-Error", das Programm greift dann automatisch auf tesseract zurück, ohne allerdings eine ggf. gewählte Sprachangabe mit zu übernehmen. Das lässt sich das mit Verwendung einer tesseract-options-Sprachangabe in der Konfigurationsdatei umgehen.

Bei Verwendung von Cuneiform 0.9.0 oder größer werden DjVu-Dateien mit einem vorgeblichen Einfügen der OCR-Daten aus Cuneiform erstellt. Tatsächlich ist aber keine Zusammenführung erfolgt, die Daten sind ohne Textebene (siehe Bugreport {en}); Hintergrund ist vermutlich eine veränderte Erstellung der hocr-Dateien durch Cuneiform ab Version 0.9.0. Das Problem ist in Version 1.1.0 inzwischen behoben.

Die Einbeziehung der Buchdeckel cover_front und cover_back erfolgt nur mit der Endung .jpg, Dateien mit der Endung .jpeg werden nicht integriert.

djvubind ist bis Version 0.3.1 für tesseract-ocr 2.0x konzipiert, und mit der neue Version 3.00 nicht kompatibel. Es greift zur Texterkennung auf Tesseract-Routinen zurück, die eigentlich für das Training von Spracherkennung entwickelt wurden; diese haben sich mit tesseract-ocr 3.00 aber grundlegend geändert. Das Problem ist in Version 1.0.0 behoben.

Alternativen

  • xsane2djvu erlaubt ein direktes Verarbeiten der Scans in das DjVu-Format mit Texterkennung aus XSane heraus; dabei können auch farbige Vorlagen verwendet werden.

  • pct-scanner-script liefert auch "automatisch" erstellte Zusammenführung von Scans im DjVu- oder PDF-Format, Texterkennung für DjVu-Dokumente ist möglich.

Diese Revision wurde am 9. Dezember 2013 18:50 von Heinrich Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: djvu, Büro, Grafik, Kommunikation, Bildung, e-book, Texterkennung, OCR, Python