Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
minidjvu ist einfacher De/Encoder für bitonale (Schwarz-Weiß) Vorlagen auf der Kommandozeile zum Umwandeln anderer Formate in das DjVu-Format und umgekehrt, unterstützt werden bmp, pbm und tiff (über libtiff). minidjvu basiert auf DjVuLibre . Es soll nicht den kompletten DjVu-Bereich abdecken, sondern konzentriert sich auf die Konvertierung von Schwarz-Weiß-Daten via cjb2 . Das Programm liefert darüber hinaus einige Optionen zur "Säuberung" von Vorlagen. Verwendet wird minidjvu beispielsweise in djvubind.
Installiert[1] werden muss das Paket
minidjvu (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install minidjvu
sudo aptitude install minidjvu
Das Programm kann aus dem Quellcode, oder dem SVN-Verzeichnis geladen und erstellt werden. Dazu den Quellcode von sourgeforge.net herunterladen, das Archiv entpacken[2], und kompilieren[3]. In den Quellen ist allerdings die aktuelle Version 0.8 schon vorhanden.
Die SVN-Version kann mit dem Befehl
svn co https://minidjvu.svn.sourceforge.net/svnroot/minidjvu/trunk minidjvu-x.x.x
bezogen und anschließend kompiliert werden.
minidjvu konvertiert verschiedene Formate in andere. Dabei können sowohl als Ein- als auch als Ausgabe-Formate djvu, bmp, pbm und tiff verwendet werden; es können auch mehrseitige tiff-Dateien bearbeitet werden. Die "Umwandlung" kann auch innerhalb eines Formates erfolgen, bei farbigen DjVu-Dateien gehen dabei allerdings alle Lagen außer der bitonalen "foreground mask" verloren. Die "Umwandlung" von anderen Formaten ins selbe Format ist allerdings höchstens mit der Option --smooth
sinnvoll, um ggf. etwas "Noise" zu entfernen.
minidjvu lässt Angaben zum "Averaging" zu, d.h., dass Musterbeispiele für Buchstaben erstellt werden, die eine bestimmte Form aufweisen. Damit lassen sich höhere Kompressionsraten erzielen, allerdings wird mit weiter gefassten Durchschnittsmustern die Fehleranfälligkeit/Falscherkennung höher. Mit den Optionen --match
und --aggression
lässt sich ggf. ein Kompromiss zwischen "exakter Erkennung" und "annehmbarer Größe", gerade bei sehr umfangreichen Vorlagen wichtig, erzielen.
Die Konvertierung kann, gerade bei mehreren Dateien, recht lange dauern, das scheint abhängig von den Vorlagen zu sein. Bilder mit gerasterten Fotos sind wesentlich zeitaufwändiger als reine Texte. Es können auch Vorlagen in verschiedenen Formaten in einem Arbeitsgang zu einer mehrseitigem DjVu-Datei zusammengeführt werden.
Die allgemeine Syntax auf der Kommandozeile[2] lautet:
minidjvu [Optionen] Eingabedatei.endung Ausgabedatei.endung
Um mehrseitige DjVu-Dateien zu erzeugen, können die Eingabedateien hintereinander angegeben werden, sie werden als mehrseitiges Dokument erstellt. Mehrseitige .tiff-Dateien können ohne weitere Optionen direkt nach DjVu konvertiert werden.
Standard für die DjVu-Erstellung ist die Ausgabe als bundled-Dokuments, um ein indirect-Dokument zu erzeugen, muss die Option -i
gewählt werden. Die Optionen -r
, -p
und -i
sind nur für mehrseitige Ausgaben relevant, mehrseitig lassen sich nur DjVu-Dateien erstellen.
minidjvu | |
Option | Funktion |
-A , --Averaging | Erstellt Durchschnitts-Beispiele für Formen, die einem Muster entsprechen. |
-a <n> , --aggression <n> | Bestimmt die "Forschheit" für den Mustervergleich. Höhere Werte führen zu kleineren Dateien, aber die Wahrscheinlichkeit von Fehlsubstitutionen wächst ebenfalls. Standard ist 100, ggf. können höhere Werte (bis 200) verwendet werden; muss aber von Fall zu Fall ausprobiert werden. Die Verwendung zieht automatisch die Option --match nach sich. |
-c , --clean | Entfernt kleine schwarze Flecken, die vermutlich Verunreinigungen sind. Dieser Algorithmus kann bei Druckrastern allerdings verheerende Folgen haben! Bei der Verwendung von --lossy wird sie automatisch mitverwendet. |
-d <n> , --dpi <n> | Legt die Auflösung in dpi fest; wird in DjVu und BMP aufgezeichnet (vielleicht demnächst auch im TIFF-Format) |
-e , --erosion | Opfert Bildqualität, um Größeneinsparung von 5-10% zu erreichen. Eine Anwendung bleibt so gut wie unsichbar; 10 hintereinander verschandeln das Bild ziemlich (und führen auch nicht zu 50-100% Größeneinsparung). Sinnvoll nur bei DjVu als Ausgabeformat. Bei der Verwendung von --lossy wird sie automatisch mitverwendet. Die Größenersparnis dieser Option addiert sich zu der des Mustervergleichs (--match ) |
-i , --indirect | Erzeugt ein indirect-Dokument, sinnvoll ggf. auch, wenn die Daten weiterverarbeitet, und z.B. mit einer Hintergrundfarbe versehen werden sollen. Im Anschluss können sie mit djvmcvt in ein "bundled"-Dokument konvertiert werden |
-l , --lossy | Verwendet alle "verlustbehafteten" Optionen, entspricht der Verwendung von --clean --erosion --match --smooth |
-m , --match | Führt Mustervergleiche durch. Dies ist die effektivste Methode, die Dateigröße zu senken, allerdings können Probleme mit Fehlsubstitutionen auftreten. Die --aggression -Option kann genutzt werden, um einen vertretbaren Ausgleich zwischen Dateigröße und Fehlerwahrscheinlichkeit zu erreichen. Bei der Verwendung von --lossy und --aggression wird die Option automatisch mitverwendet. |
-n , --no-prototypes | Keine Verwendung einer Prototyp-Suche. Verlustlose Kompression wird dadurch beschleunigt, führt aber zu wesentlich größeren Ausgabedateien. |
-p , --pages-per-dict | Legt fest, wie viele Seiten in einem Durchgang bearbeitet werden sollen. Standard ist 10 , mit -p 0 werden alle Seiten auf einmal verarbeitet, was aber ggf. sehr viel Arbeitsspeicherkapazität erfordert, besonders bei umfangreichen Werken. |
-r , --report | Gibt Statusmeldungen zur Verarbeitung jeder Seite aus; nur für mehrseitige Dokumente verwendbar. Nützlich nur, um die Langeweile beim Konvertieren ganzer Bücher zu überstehen. |
-s , --smooth | Entfernt Pixel, die Verunreinigungen zu sein scheinen. Resultat sind etwas 5% Größenersparnis, die Qualität wird etwas verbessert, ist aber kaum sichtbar. Momentan ist der Modus nicht sonderlich raffiniert: ein Pixel wird entfernt, wenn mindestens 3 von 4 direkt benachbarten Pixeln weiß sind. Bei der Verwendung von --lossy wird die Option automatisch mitverwendet. |
-v , --verbose | Gibt Informationen zu den verschiedenen Verarbeitungsstadien aus. Nicht sehr nützlich, aber ganz interessant. |
-X , --Xtension | Legt die Endung für die "shared-dictonary"-Dateien fest (ohne vorhergehenden Punkt). Standard ist .iff |
-w , --warnings | libtiff-Warnungen werden nicht unterdrückt. Standardmäßig werden libtiff-Warnungen unterdrückt. Unter Windows wird eine Warnbox erzeugt, was für ein Stapelverarbeitungsprogramm nicht akzeptabel ist. Der minidjvu-Standard stellt also eine provisorische Lösung für das libtiff-Standard-Verhalten dar. |
Alle Optionen mit zwei Strichen "--
" können auch mit nur einem genutzt werden.
Bei Start des Programms aus den Ubuntuquellen wird ggf. eine Warnung ausgegeben, dass die Versionen des Programms und der Bibliothek nicht übereinstimmen - diese kann getrost ignoriert werden.
xsane2djvu kann direkt DjVu-Dateien erstellen, und u.a. minidjvu als Encoder verwenden
ddjvu , das DjVuLibre-Programm zum Konvertieren von DjVu-Daten
gscan2pdf sollte auch andere Formate importieren und als DjVu-Dateien ausgeben können, es kommt dabei aber beim Laden der Dateien ggf. zu Programmabstürzen...
Diese Revision wurde am 19. September 2015 13:36 von Heinrich_Schwietering erstellt.