ubuntuusers.de

DjVuDigital

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


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

DjVu/djvu-logo.png DjVuDigital 🇬🇧 ist ein Kommandozeilen-Programm zum Konvertieren von PDF-Dateien in das DjVu-Format, auch die Formate PostScript(.ps), GZipped PostScript (.ps.gz) und Encapsulated PostScript (.eps) können verarbeitet werden. Das Programm ist Teil des DjVuLibre-Projektes 🇬🇧. Es stehen eine Vielzahl von Optionen zur individuellen Anpassung zur Verfügung. Bestehende Textlayer einer .ps-Datei können erhalten werden.

Lizenzprobleme

Allerdings muss eine Version eines Ghostscript-Teibers verwendet werden, der zwar von AT&T auch unter einen Open-Source-Lizenz veröffentlicht wurde (CPL-Lizenz 🇬🇧), allerdings ist diese nicht kompatibel mit der GPL-Lizenz 🇬🇧, unter der die Programme des DjVuLibre-Projekts und die verwendete Version von Ghostscript 🇬🇧 selbst gestellt wurden. Daher kann das Programm nicht rechtmäßig als Binärdatei veröffentlicht werden. Die DjVuLibre-Entwickler interpretieren allerdings die Lage so, dass es möglich ist, den GSDjVu-Treiber für Ghostscript auch mit den Inkompatibilitäten selbst zu erstellen, da die Einschränkungen nur, so ihre Interpretation, für die Weitergabe des gesamten Programms gelten, nicht aber für anderweitige Verwendung (also auch eine Modifizierung). Eine genauere Beschreibung mit Empfehlungen befindet sich auf auf DjVuLibre-GSDjVu-Seite 🇬🇧.

Achtung!

Eine Garantie für die Richtigkeit dieser Rechtsauffassung gibt es nicht, die Erstellung erfolgt daher aufgrund der eigenen Entscheidung, und auf eigene Gefahr. Allerdings verwies Patrick Haffner von AT&T, einer der ursprünglichen Entwickler des Verfahrens, auf der AT&T-gsdjvu-Seite selbst auf die DjVuLibre-Version für GSDjVu, insofern ist die Gefahr wohl auch wieder nicht all zu groß, zumindest solange die Version nicht veröffentlicht wird.

Installation

Um DjVuDigital nutzen zu können, müssen die Pakete

  • djvulibre-bin (universe)

  • ghostscript

Befehl zum Installieren der Pakete:

sudo apt-get install djvulibre-bin ghostscript 

Oder mit apturl installieren, Link: apt://djvulibre-bin,ghostscript

installiert[1] werden.

Um das Programm nutzen zu können, muss zunächst eine Version des Treibers aus dem Ghostscript-Quellcode und einem auf dem GSDjVu-code basierenden Patch erstellt werden, der von der sourceforge-DjVu-Seite 🇬🇧 bezogen werden kann. Das Verfahren verwendet ein von den DjVuLibre-Entwicklern erstelltes automatisches Skript, bei dessen Ausführung nochmals ausdrücklich auf die unklaren Lizenz-Bedingungen hingewiesen wird.

Ghostscript-Treiber erstellen

Benötigt wird die aktuelle Version des GSDjVu-Codes ⮷, außerdem der aktuelle Ghostscript-Quellcode als tar.gz/tar.bz2-Archiv ⮷, Version 8.64 oder höher (getestet unter Ubuntu 18.04 und Ubuntu 20.04 mit GSDjVu 1.10 und Ghostscript 9.25, mit aktuelleren Versionen scheiterte die Erstellung (z.B. mit 9.27, 9.50 oder 9.53) Die älteren Versionen finden sich auf GitHub ⮷). Im Verzeichnis des entpackten GSDjVu-Archiv wird ein Unterverzeichnis BUILD erstellt, das Ghostscript-Archiv wird dann dort in den Ordner gsdjvu-1.x/BUILD heruntergeladen, aber nicht entpackt!

Hinweis!

Fremdsoftware kann das System gefährden.

Außerdem sollten folgende Pakete installiert sein:

  • gsfonts (main)

  • zlib1g-dev (main)

Befehl zum Installieren der Pakete:

sudo apt-get install gsfonts zlib1g-dev 

Oder mit apturl installieren, Link: apt://gsfonts,zlib1g-dev

Weiter müssen ggf. noch weitere Abhängigkeiten zum Erstellen von Ghostscript installiert werden:[2]

Befehl zum Installieren der Build-Abhängigkeiten:

sudo apt-get build-dep ghostscript 

sudo aptitude build-depends ghostscript 

Das Shell-Skript build-gsdjvu wird ausgeführt, dazu den gesamten Pfad angeben, z.B.

/home/BENUTZER/gsdjvu-1.X/build-gsdjvu 

Das Skript entpackt den Quellcode, patcht den Ghostscript-Code mit dem gdevdjv-Treiber aus dem gsdjvu-1.X/att/-Verzeichnis, kompiliert Ghostscript und erhält nur die benötigten Dateien (nähere Einzelheiten kann man dem Skript selbst entnehmen). Das Skript legt diese GSDjVu-Dateien im Ordner BUILD/INST/gsdjvu ab. Es enthält u.a. die ausführbare Programmdatei gsdjvu, auf die DjVuDigital zurückgreift, diese Datei sollte also in ein Verzeichnis kopiert oder per symbolischer Verknüpfung eingebunden werden, das in der PATH-Umgebungsvariable verzeichnet ist.

Beispiele:

  • Der Ordner gsdjvu wird mit Root-Rechten nach /usr/local/lib/gsdjvu kopiert und die Datei verknüpft (nutzbar für alle Benutzer):

    sudo cp -r BUILD/INST/gsdjvu  /usr/local/lib
    cd /usr/local/bin
    sudo ln -s ../lib/gsdjvu/gsdjvu gsdjvu 

Nach einem Upgrade der Ubuntu-Version ist die letzte Aktion ggf. nicht nötig, da die alte Verknüpfung auch für den neuen Treiber erhalten bleibt, wenn die selben Verzeichnisse verwendet werden (beim Versuch erscheint eine Meldung, dass die Datei bereits existiert).

  • Der Ordner gsdjvu wird in das Homeverzeichnis des Benutzers installiert; die Nutzung ist damit nur für diesen Benutzer möglich (die PATH-Variable muss das Verzeichnis ~/bin beinhalten):

    cp -r BUILD/INST/gsdjvu ~/gsdjvu
    cd ~/bin
    ln -s ../gsdjvu/gsdjvu gsdjvu 

Hinweis:

Ggf. muss nach der Prozedur das Paket ghostscript erneut installiert werden, wenn es in anderen Anwendungen, die Ghostscript verwenden, zu Problemen kommt!

Funktionsweise

DjVuDigital verwendet eine hoch entwickelte Technologie, um die Rastergrafiken der Vorlagen in eine Vordergrundebene mit bitonale Maske für Text und Schwarzweiß-Grafik einerseits, und Hintergrund, Fotos etc. andererseits zu zerlegen. Dazu wird der Ghostscript-Treiber djvusep verwendet, der die Daten aus den Vorlagen analysiert und aufteilt, dieser Treiber wird von dem erstellten Programm gsdjvu geliefert. Der Treiber erstellt aus dem Ergebnis ein "Datenblatt", das dann mit dem DjVuLibre-Programm csepdjvu 🇬🇧 komprimiert und zu einem DjVu-Dokument verarbeitet wird. Technische Details findet man in den DjVuDigital-Spezifikationen ⮷ 🇬🇧.

Bedienung

DjVuDigital ist ein Kommandozeilen-Programm, die allgemeine Syntax lautet

djvudigital [OPTIONEN] EINGABEDATEI [AUSGABEDATEI]  

Dabei wird aus der Eingabedatei ohne die Angabe eines Ausgabenamens die Datei EINGABEDATEI.djvu erstellt. Der Prozess kann über eine Vielzahl von Optionen gesteuert werden. Um die Textebene zu übertragen, muss die Option --words oder --lines verwendet werden, sonst wird die Ebene nicht ordnungsgemäß erhalten.

Optionen

Optionen für DjVuDigital
Argument Funktion
Extraktions-Optionen
--psrotate=WINKEL nur für .ps-Dateien: Drehung, mögliche Werte 0, 90, 180, 270. PDFs werden immer in Original-Ausrichtung konvertiert
--words Text aus .ps-Dateien wird extrahiert, die Position jedes Wortes wird festgehalten
--lines Text aus .ps-Dateien wird extrahiert, die Position jeder Zeile (statt der Wörter) wird festgehalten (kleiner Größenvorteil gegenüber --words)
Bildqualität
--exact-color ermöglicht eine genauere Farbwiedergabe
--treshold=N Schwellwert für die Aufteilung nach Vorder-/Hintergrund; Werte 0 bis 100, höhere Werte liefern mehr Informationen im Vordergrund, Standard: 80
-d, --dpi=AUFLÖSUNG erwünschte Auflösung in dpi (Standard 600)
Sonstiges
--check gibt die Namen der gefundenen Hilfsprogramme für DjVuDigital aus
--dryrun gibt den Kommandozeilenaufruf für das Ghostscript-Programm aus, keine Bearbeitung
-q, --quite unterdrückt alle Ausgaben im Terminal
-v, --verbose Ausgabe aller Details, z.B. zur Fehlersuche
-h, --help Hilfe, öffnet die Manpage des Programms

Weiter Informationen finden sich in der Manpage des Programms, außerdem in der README-Datei im gsdjvu-Archiv.

Probleme

Bei der Konvertierung von .pdf-Dateien mit Textlayer können "Texte" folgender Art entstehen

ABCDE EBE EFEB FFF E EB FEBFEBABF FEBB B EB EB

Leider ist eine Abhilfe nicht bekannt; es kann nur Text aus .ps-Dateien extrahiert werden! Eine Textebene kann aber nachträglich auch mit ocrodjvu erstellt werden.

Das Programm kann nur solche Eingabedateien verarbeiten, die auch für Ghostscript selbst keine Schwierigkeiten bereiten.

Alternativen

Diese Revision wurde am 21. November 2020 14:09 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Büro, PDF, djvu, Grafik, Kommunikation, Bildung