[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Paketinstallation_DEB: Ein einzelnes Paket installieren] [:Packprogramme: Archive entpacken] [:Programme kompilieren: Pakete aus dem Quellcode erstellen] [:Terminal: Ein Terminal öffnen] [:Editor:Einen Editor verwenden] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [github:strider1551/djvubind:djvubind] ist ein in [:Python:] verfasstes Kommandozeilen-Werkzeug, um aus selbsterstellten '''tiff'''-Vorlagen (z.B. [:Scan Tailor:]-Bearbeitungen) [wikipedia:e-Book: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 [http://djvu.sourceforge.net/doc/man/djvused.html djvused] {en} Skript-Ausgaben verwenden, um Inhaltsverzeichnisse und Metadaten einzubinden. Zum Einsatz kommen außerdem '''djvulibre-bin''' und [:ImageMagick:]. = Installation = Das Paket ist in Version 1.2.1 in den Quellen vorhanden, {{{#!vorlage Paketinstallation djvubind }}} = Bedienung = djvubind ist ein reines Kommandozeilenwerkzeug, die allgemeine Syntax im Terminal[4] lautet: {{{#!vorlage Befehl 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//.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 == ||<-2 rowclass="titel"> 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 in " " gesetzt werden|| || `--tesseract-options="OPTION(EN)"` || Option, um andere Tesseract-Optionen zu verwenden, z.B. Sprach-Optionen, Optionen müssen 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 detailliert konfigurierbar ist, und verlässliche Unterstützung für [:tesseract-ocr:], OCRopus, [:Cuneiform-Linux:], [:GOCR:] und [:Ocrad:] liefert. = Probleme = Wenn es Probleme mit [:Cuneiform-Linux:] (z.B einen "buffer-overflow-Error") gibt, greift das Programm 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. Die Verwendung der Sprachoption für Cuneiform funktioniert unter [:18.04: Ubuntu 18.04] nicht, zumindest werden keine Umlaute erkannt. Die Einbeziehung der Buchdeckel '''cover_front''' und '''cover_back''' erfolgt nur mit der Endung '''.jpg''', Dateien mit der Endung '''.jpeg''' werden nicht integriert. = 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. = Links = * [github:strider1551/djvubind: Projektseite] * [https://diybookscanner.org/forum/viewtopic.php?f=3&t=521&sid=36e18ae08a45d466444428549feefd86 DIY-Bookscanner-Foren-Diskussion] {en} zu djvubind #tag: Grafik, Bildung, Büro, Kommunikation, djvu, eBook, OCR, Texterkennung, Python