[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Packprogramme: Archive entpacken] [:Programme kompilieren: Pakete aus dem Quellcode erstellen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(DjVu/djvu-logo.png, 80, left)]] [http://minidjvu.sourceforge.net/ minidjvu] {en} 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 [http://djvu.sourceforge.net/ DjVuLibre] {en}. Es soll nicht den kompletten DjVu-Bereich abdecken, sondern konzentriert sich auf die Konvertierung von Schwarz-Weiß-Daten via [http://djvu.sourceforge.net/doc/man/cjb2.html cjb2] {en}. Das Programm liefert darüber hinaus einige Optionen zur "Säuberung" von Vorlagen. Verwendet wird minidjvu beispielsweise in [:djvubind:]. {{{#!vorlage Hinweis Das Programm wird nicht mehr weiterentwickelt, die letzte Version ist von 2009. Auf einen [https://sourceforge.net/p/minidjvu/bugs/8/ Hinweis zu anscheinend existierenden Sicherheitsproblemen] {en} vom August 2017 ist auf der Sourceforge-Seite nicht einmal reagiert worden. }}} = Installation = Installiert[1] werden muss das Paket {{{#!vorlage Paketinstallation minidjvu, universe }}} == Manuelle Installation == Das Programm kann aus dem Quellcode, oder dem SVN-Verzeichnis geladen und erstellt werden. Dazu den [sourceforge:minidjvu/files:Quellcode] {en} 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 {{{#!vorlage 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 [:DjVu#Vordergrund:"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: {{{#!vorlage Befehl 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 [:DjVu#bundled-documents:bundled]-Dokuments, um ein [:DjVu#indirct-documents: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 == ||<-2 rowclass="titel"> minidjvu || || Option || Funktion || ||`-A`, `--Averaging` || Erstellt Durchschnitts-Beispiele für Formen, die einem Muster entsprechen. || ||`-a `, `--aggression ` || 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 [wikipedia:Druckraster:Druckrastern] allerdings verheerende Folgen haben! Bei der Verwendung von `--lossy` wird sie automatisch mitverwendet.|| ||`-d `, `--dpi `|| 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 [:DjVu#indirect-documents:indirect]-Dokument, sinnvoll ggf. auch, wenn die Daten weiterverarbeitet, und z.B. mit einer Hintergrundfarbe versehen werden sollen. Im Anschluss können sie mit [http://djvu.sourceforge.net/doc/man/djvmcvt.html djvmcvt] {en} 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 [wikipedia:Interchange_File_Format:'''.iff'''] || ||`-w`, `--warnings`|| libtiff-Warnungen werden nicht unterdrückt. Standardmäßig werden libtiff-Warnungen unterdrückt. Unter [wikipedia: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 * [http://djvu.sourceforge.net/doc/man/ddjvu.html ddjvu] {en}, 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... = Links = * [sourceforge:minidjvu: Projektseite] {en} auf sourceforge.net * [:DjVu:]-Hauptseite #tag: Grafik, Bildung, Büro, Kommunikation, djvu