Conversion de DJVU en PDF


40

Je souhaite convertir un document DJVU en un document PDF en séparant et en préservant le calque de texte et les images tout en conservant la structure du fichier DJVU. Comment puis-je faire cela dans Ubuntu?

(J'utiliserai ensuite Caliber pour convertir ePub / Mobi, donc s'il y avait un plug-in Caliber pour tout ce processus, ce serait parfait pour moi!)

Remarque1: L'impression à partir d'Evince, l'exportation à partir de DJview ou toute autre application utilisant le package ddjvu ne sont pas des solutions adéquates, car elles suppriment le calque de texte et n'enregistrent que les images.

Note2: L'utilisation de DJVULibre semble extraire uniquement le calque de texte et les images ne sont pas extraites . De même, copier le texte "manuellement" perd la structure du document et les images.

Réponses:


38

Méthode 1

Utilisez simplement DJView et exportez au format PDF

  1. Aller au gestionnaire de paquets Synaptic
  2. Installer DJview4
  3. Lancer DJview (Applications - Graphiques - DJView4)
  4. Ouvrez votre document .djvu
  5. : Menu - Exporter sous: PDF

Méthode 2

Ouvrez le fichier djvu dans evince
Sélectionnez print ----> print to file,
changez le .ps en .pdf et cliquez sur print

Méthode 3

  1. Aller au gestionnaire de paquets Synaptic
  2. Installer

    djvulibre-bin libdjvulibre21 okular-extra-backends evince libevdocument3 libevview3

  3. Aller au terminal et écrire

     sudo apt-get install libtiff-tools
    
  4. Allez au répertoire où le fichier djvu est présent. Cliquez avec le bouton droit de la souris. Allez à “Open In Terminal” option. Clique dessus. Un terminal va s'ouvrir.

  5. Dans ce terminal, écris

    ddjvu -format=tiff file_name.djvu file_name.tiff
    tiff2pdf -j -o file_name.pdf file_name.tiff
    

Méthode 4

Il existe également un convertisseur en ligne DjVu to PDF Converter


@Ashu Êtes-vous sûr que cela récupère les images?
hayd

Oui, les méthodes 1 et 2 ont fonctionné pour moi. n'a pas essayé pour 3 et .4
Ashu

@Ashu est-il en train d'extraire les images ou simplement de copier la page entière? (est-ce que cela a du sens?)
hayd

Avez-vous essayé une méthode? essayez et voyez si cela fonctionne
Ashu

2
Ce n'est pas (récupérer les images ou le texte).
hayd

17

Voici une solution qui nécessiterait des outils moins courants:

  1. ocrodjvu
  2. pdfbeads , qui a ses propres exigences qui peuvent être trouvées par Google

Nous pouvons utiliser djvu2hocrcommand (from ocrodjvupackage) pour extraire le calque de texte caché du fichier DjVu (il ne fait pas d’OCR ou similaire, il extrait simplement le calque de texte avec une géométrie), c’est-à-dire:

djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html

sed intervention corrige les noms de classe dans la sortie hOCR (qui est un simple fichier HTML)

Nous extrayons maintenant la page DjVu au format TIFF avec:

ddjvu -format=tiff -page=10 sample.djvu pg10.tif

afin que nous terminions avec ces fichiers dans notre dossier de travail:

sample.djvu
pg10.html
pg10.tif

C'est là pdfbeadsqu'entre en jeu, et nous exécutons simplement:

pdfbeads -o pg10.pdf

alors ce programme astucieux s’occupe de tout ce qui se trouve dans ce dossier (fichiers HTML et TIFF avec le même nom de base) et génère un fichier PDF en sortie avec certains sous-produits:

sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym

qui est identique au fichier DjVu en entrée et contient un calque de texte:

entrez la description de l'image ici

Résumé des commentaires:

Les longs commentaires ci-dessous expliquent comment représenter des images plus petites à partir d'une page de document DjVu en tant qu'objets séparés, ce qui n'est pas facilement possible car la page de document DjVu n'est en elle-même qu'une seule image avec un calque de texte facultatif, sans aucune "information" sur les images plus petites en tant qu'objets séparés. Si le document DjVu contient des images couleur, elles seront généralement placées sur le calque d'arrière-plan. dans ce cas, l'utilisateur peut tirer parti d'outils tels que ddjvu(extraire uniquement les calques d'arrière-plan) et imagemagick(rognage automatique) pour générer uniquement des images au lieu de la totalité du canevas, mais cette opération ne peut pas être automatisée pour créer un document PDF.

Une autre approche plus saine, mais plus lente, consiste à utiliser des outils d'interface graphique OCR classiques. gscan2pdf(> 1.0) est suggéré comme candidat possible pour Linux PC


Ai-je raison de penser que cela n'extrait pas les données d'image individuelles, mais uniquement l'image de la page entière?
hayd

Qu'entendez-vous par "données d'image individuelles" lorsque vous vous référez à la structure de fichiers DjVu?
Zetah

possibilité de recadrer les images du document sous forme d'images plus petites placées en haut du PDF (par exemple, pour pouvoir les exporter au format HTML)
hayd

Il n'y a pas de telle définition dans la structure de fichier DjVu. L’exemple ci-dessus dans le document DjVu original est "placé" sur le calque / masque de premier plan avec l’image de caractères. Il existe un calque de texte séparé qui a été extrait comme expliqué. Si le document DjVu contient une ou plusieurs images couleur, il sera placé sur le calque d'arrière-plan sur la totalité de la page (fichier DjVu composé courant). Bien qu'il soit compréhensible que vous vous attendiez à ce que les images de la page de document DjVu soient des objets distincts, ce n'est pas le cas: regardez la page de document DjVU en tant qu'image unique avec calque de texte facultatif, c'est en gros ce que c'est.
Zetah

1
@zetah - les informations supplémentaires que vous avez données dans les commentaires doivent vraiment être ajoutées à la réponse car elles fournissent des informations précieuses sur le positionnement des images dans la structure et sur ce à quoi vous vous attendez lors de l'extraction.
fossfreedom

4

Il existe djvu2pdf mais il repose sur ghostscript, ce qui pourrait donc constituer une autre option d’impression. Je vous suggère tout de même d'y jeter un coup d'œil, juste au cas où il serait plus intelligent que je ne le crédite.

Ce n'est pas dans le dépôt mais vous pouvez télécharger un deb à partir du site du fabricant: http://0x2a.at/s/projects/djvu2pdf

** Insérez ici les informations obligatoires sur le téléchargement / l'installation d'éléments extérieurs au dépôt **


1
Je crains que djvu2pdf utilise ddjvu pour exporter au format PDF, qui exporte des images sans texte.
Mars

4

En utilisant djvulibre , on peut extraire la couche de texte via la terminalcommande:

djvutxt myfile.djvu > myfile-ocr.txt ou djvused myfile.djvu -e 'print-pure-txt' > myfile.txt

(les deux font la même chose, et ont été trouvés ici )

Le formatage nécessite quelques efforts (de nombreux symboles ne sont pas convertis correctement) et les images ne sont pas récupérées .


C'est utile pour convertir des livres sans images au format DJVU, mais pas pour les documents contenant des images. C'est la solution actuelle pour moi pour le moment, et la seule à extraire le texte. Un moyen de préserver le formatage et les images serait de loin préféré!
hayd


0

Le moyen le plus simple: utilisez gscan2pdf pour importer le djvu, puis faites-le avec OCR avec tesseract, puis sauvegardez-le au format PDF. Le texte OCR dans le pdf peut être légèrement différent du djvu original, et la conversion peut prendre un certain temps, mais cette méthode est une évidence et elle fonctionne.


1
Bonjour, pour que votre réponse soit plus utile, pourriez-vous donner un peu plus de détails sur l’obtention et l’utilisation de gscan2pdf et de tesseract.
NGRhodes

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.