Ich möchte ein DJVU Dokument in ein PDF - Dokument konvertieren, zu trennen und die Erhaltung der Textebene und die Bilder , während auch die Struktur zu halten von der DJVU. Wie kann ich das in Ubuntu machen?
(Ich werde dann Calibre verwenden , um nach ePub / Mobi zu konvertieren. Wenn es also ein Calibre-Plug-In für diesen gesamten Prozess geben würde, wäre das perfekt für mich!)
Hinweis 1: Drucken aus Evince, Exportieren aus DJview oder mit dem Paket ddjvu sind keine geeigneten Lösungen, da die Textebene verworfen und nur Bilder gespeichert werden .
Hinweis 2: Die Verwendung von DJVULibre scheint nur die Textebene zu extrahieren, und Bilder werden nicht extrahiert . Wenn Sie den Text "manuell" kopieren, gehen sowohl die Dokumentstruktur als auch die Bilder verloren.
Hier ist eine Möglichkeit, die einige weniger gebräuchliche Werkzeuge erfordern würde:
Wir können den
djvu2hocr
Befehl (fromocrodjvu
package) verwenden, um verborgene Textebenen aus der DjVu-Datei zu extrahieren (es wird keine OCR oder ähnliches ausgeführt, es werden nur Textebenen mit Geometrie extrahiert), dh:djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html
sed
Intervention korrigiert Klassennamen in Ausgabe-HOCR (die nur einfache HTML-Datei ist)Nun extrahieren wir die DjVu-Seite in das TIFF-Format mit:
ddjvu -format=tiff -page=10 sample.djvu pg10.tif
so dass wir mit dieser Datei in unserem Arbeitsordner enden:
Hier
pdfbeads
kommt das Spiel ins Spiel und wir führen einfach aus:pdfbeads -o pg10.pdf
Dann kümmert sich dieses raffinierte Programm um alles, was sich in diesem Ordner befindet (HTML- und TIFF-Dateien mit demselben Basisnamen) und erzeugt eine Ausgabe-PDF-Datei mit einigen Nebenprodukten:
Das ist identisch mit der Eingabe-DjVu-Datei und enthält eine Textebene:
Zusammenfassung der Kommentare:
In den folgenden ausführlichen Kommentaren wird erläutert, wie kleinere Bilder von der DjVu-Dokumentseite als separate Objekte dargestellt werden. Dies ist nicht einfach möglich, da die DjVu-Dokumentseite selbst nur ein einzelnes Bild mit optionaler Textebene ist und keine "Informationen" zu kleineren Bildern als separate Objekte enthält. Wenn ein DjVu-Dokument Farbbilder enthält, werden diese normalerweise auf der Hintergrundebene platziert. In diesem Fall können Benutzer Tools wie
ddjvu
(Nur Hintergrundebene extrahieren) undimagemagick
(Automatisch zuschneiden) verwenden, um nur Bilder statt der gesamten Zeichenfläche auszugeben. Sie können die PDF-Ausgabe jedoch nicht automatisierenEin anderer vernünftiger, aber langsamerer Ansatz ist die Verwendung regulärer OCR-GUI-Tools.
gscan2pdf
(> 1.0) wird als möglicher Kandidat für einen Linux-PC vorgeschlagenquelle
Es gibt djvu2pdf, aber es basiert auf Ghostscript, so dass es möglicherweise eine andere Druckoption ist . Ich schlage immer noch vor, dass Sie einen Blick darauf werfen, nur für den Fall, dass es schlauer ist, als ich es zu würdigen.
Es ist nicht in den Repos, aber Sie können eine Deb von der Herstellerseite herunterladen: http://0x2a.at/s/projects/djvu2pdf
** Pflichtvermerk zum Herunterladen / Installieren von Dingen von außerhalb der Repos hier einfügen **
quelle
Mit DJVULibre kann man die Textebene über den
terminal
Befehl extrahieren :djvutxt myfile.djvu > myfile-ocr.txt
oderdjvused myfile.djvu -e 'print-pure-txt' > myfile.txt
(beide machen dasselbe und wurden hier gefunden )
Das Formatieren erfordert einige Anstrengungen (da viele Symbole nicht richtig konvertiert werden) und Bilder nicht wiederhergestellt werden .
quelle
http://www.djvu-pdf.com/ - Über diese Website können Sie djvu in pdf konvertieren.
quelle
Der einfachste Weg: Verwenden Sie gscan2pdf, um das djvu zu importieren, dann OCR mit tesseract und speichern Sie es schließlich als PDF. Der OCR-Text im PDF-Dokument weicht möglicherweise geringfügig vom ursprünglichen DJVU ab, und die Konvertierung kann eine Weile dauern. Diese Methode ist jedoch ein Kinderspiel und funktioniert.
quelle
Ich habe ein Skript von @ zetahs Antwort erstellt.
Es ist hier verfügbar: https://gist.github.com/matthieuheitz/7287e214b1aeda7948f6c27fbfb5288b
quelle