staging.inyokaproject.org

minidjvu

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

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

DjVu/djvu-logo.png 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.

Hinweis:

Das Programm wird nicht mehr weiterentwickelt, die letzte Version ist von 2009. Auf einen Hinweis zu anscheinend existierenden Sicherheitsproblemen 🇬🇧 vom August 2017 ist auf der Sourceforge-Seite nicht einmal reagiert worden.

Installation

Installiert[1] werden muss das Paket

  • minidjvu (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install minidjvu 

Oder mit apturl installieren, Link: apt://minidjvu

Manuelle Installation

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.

Funktionsweise

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.

Bedienung

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.

Optionen

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.

Probleme

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.

Alternativen

  • 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 1. April 2019 19:41 von Beforge erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: djvu, Büro, Grafik, Kommunikation, Bildung, ungetestet