Differences

This shows you the differences between two versions of the page.

Link to this comparison view

procedures:djvu_documents [2019/09/28 16:08] (current)
alphedias created
Line 1: Line 1:
 +====== Creating DJVU documents ======
  
 +===== Conversions PDF <=> DJVU =====
 +----
 +
 +==== Conversion PDF en DJVU ====
 +----
 +
 +Trois possibilitées de conversion, énoncées ci-dessous :
 +
 +=== Méthode 1 - À partir de la commande pdf2djvu ===
 +
 +<code bash>​pdf2djvu -d=DPI -o output.djvu input.pdf</​code>​
 +
 +On peut aussi passer l'​option ''​--monochrome --lossy''​ si cela ne dégrade pas trop la qualité du fichier de sortie. Souvent, le fichier qui ressort de cette commande est encore trop lourd, par rapport à la compression que peut offrir le support DJVU.
 +
 +=== Méthode 2 - À partir des images du pdf ===
 +
 +== Obtention des pages et conversion de celles-ci en DJVU ==
 +
 +<code bash>​pdfimages -all input.pdf out</​code>​
 +donnera d'une part les images. On peut ensuite les convertir en *.pbm avec le script suivant :
 +
 +<code bash>
 +#!/bin/bash
 +for filename in *
 +do
 +  case "​$filename"​ in
 +    *.tif)
 +      name=${filename%\.*}
 +      convert "​$filename"​ pbm/"​${name}.pbm"​
 +      echo "​converted $filename"​
 +      ;;
 +    *)
 +      ;;
 +  esac 
 +done
 +</​code>​
 +
 +Ensuite, on convertit les images une à une en DJVU :
 +<code bash>for i in *.pbm; do cjb2 -dpi 1200 -lossy "​$i"​ djvu/"​$i"​.djvu;​ done;</​code>​
 +
 +== Pour les textes comportant des photographies ==
 +''​cfjb2''​ risque de dégrader celles-ci, et encore plus avec l'​option ''​-lossy''​. Ainsi, il est parfoit utile de ne sélection que ces pages pour une conversion sans ''​-lossy''​ :
 +<code bash>for i in $(<​pages.txt);​ do cjb2 -dpi 1200 "​out-$i.pbm"​ djvu/"​out-$i.pbm.djvu";​ done;</​code>​
 +
 +où le fichier ''​pages.txt''​ est formaté de la manière suivante :
 +<​code>​001 010 229 ...</​code>​
 +
 +== Finalisation ==
 +
 +Finalement, on assemble le DJVU avec la commande ''​djvm -c out.djvu *.djvu''​.
 +
 +=== Méthode 3 - Pour les fichiers récalcitrants ===
 +
 +Notamment ceux trop lourd, et dont l'​option ''​--monochrome''​ de ''​pdf2djvu''​ dégrade trop la qualité du fichier. D'une part, on effectue la conversion en DJVU à partir de la commande ''​pdf2djvu -o output.djvu input.pdf''​. Puis on peut ensuite extraire les images du DJVU :
 +<code bash>​ddjvu -format=tiff -eachpage input.djvu %02d.tiff</​code>​
 +On peut éventuellement ajouter ''​-quality=80''​ pour compresser les TIFF résultants.
 +
 +On exécute alors ensuite le script précédent,​ on convertit les images en DJVU et on assemble le fichier final.
 +
 +==== Conversion DJVU en PDF ====
 +----
 +
 +Il faut utiliser ''​djvups''​ pour obtenir le plus petit fichier possible :
 +<code bash>​djvups out.djvu | ps2pdf - out.pdf</​code>​
 +
 +Finalement, le PDF résultant peut être rogné - si nécessaire - en utilisant [[https://​sourceforge.net/​projects/​briss/​|briss]].
 +
 +Alternativement,​ ''​ddjvu''​ permet une conversion directe de DJVU en PDF :
 +<code bash>​ddjvu -format=pdf -quality=85 -verbose a.djvu a.pdf</​code>​
 +
 +===== Marques-pages =====
 +----
 +
 +==== Insertion de marques-pages dans un DJVU ====
 +----
 +
 +Il faut créer un fichier que l'on appelle par exemple ''​bookmarks.txt''​ dont le format sera le suivant :
 +<​code>​(bookmarks
 +
 +("Ma section 1" "#​1"​
 +("Ma sous-section 1" "#​2"​))
 +("Ma section 2" "#​10"​)
 +
 +)</​code>​
 +où ''#​X''​ est le numéro de page dans le DJVU. Pour appliquer les marques-pages,​ il suffit ensuite d'​effectuer la commande :
 +<​code>​djvused out.djvu -e "​set-outline bookmarks.txt"​ -s</​code>​
 +
 +==== Conversion de marques-pages ====
 +----
 +
 +Les marques pages ne sont pas conservés lors d'une conversion entre les formats DJVU et PDF. Pour les ré-insérer,​ il faut utiliser le logiciel [[https://​sourceforge.net/​projects/​handyoutlinerfo/​|Handy Outliner]]. Celui-ci fonctionne aussi sur Linux et MacOS X en utilisant l'​environnement Mono. En particulier,​ sous 10.6.8, la version la plus récente de Mono est [[https://​download.mono-project.com/​archive/​2.10.12/​macos-10-x86/​|Mono 2.10.12]].
 +
 +===== Reconnaissances de caractère (OCR) =====
 +----
 +
 +En utilisant le logiciel //​ocrodjvu//​. Un exemple d'​utilisation est le suivant[(ref:>​[[http://​jwilk.net/​software/​ocrodjvu|ocrodjvu]],​ //Jakub Wilk//.)]
 + :
 +
 +<​code>​
 +$ ./ocrodjvu --in-place '​alice.djvu'​
 +Processing '​alice.djvu':​
 +- Page #1
 +$ djvused -e print-txt '​alice.djvu'​ | head -n14
 +(page 0 0 2488 3507
 + ​(column 470 2922 1383 2978
 +  (para 470 2922 1383 2978
 +   (line 470 2922 1383 2978
 +    (word 470 2927 499 2976 "​1"​)
 +    (word 588 2926 787 2978 "​Down"​)
 +    (word 817 2925 927 2977 "​the"​)
 +    (word 959 2922 1383 2976 "​Rabbit-Hole"​))))
 + ​(column 451 707 2076 2856
 +  (para 463 2626 2076 2856
 +   (line 465 2803 2073 2856
 +    (word 465 2819 569 2856 "​Alice"​)
 +    (word 592 2819 667 2841 "​was"​)
 +    (word 690 2808 896 2854 "​beginning"​)
 +</​code>​
 +
 +L'​option ''​--in-place''​ permet de directement écrire le texte dans le fichier DJVU.
 +
 +===== Perte du support DJVU sous Evince =====
 +----
 +
 +Evince peut parfois avoir des problèmes pour ouvrir les documents DJVU ne comportant qu'une seule page. Pour résoudre le problème, il faut éditer le fichier ''/​usr/​lib/​x86_64-linux-gnu/​evince/​4/​backends/​djvudocument.evince-backend''​ et y ajouter ''​image/​vnd.djvu;''​ à la fin de la dernière ligne.
 +
 +===== Ressources et documentation =====
 +----
 +
 +  * http://​djvu.sourceforge.net/​doc/​
 +
 +  * https://​en.wikisource.org/​wiki/​Help:​DjVu_files
 +
 +  * https://​fr.wikisource.org/​wiki/​Aide:​Cr%C3%A9er_un_fichier_DjVu/​Linux