Show pageOld revisionsBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== 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 procedures/djvu_documents.txt Last modified: 2019/09/28 16:08by alphedias