====== 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 ===
pdf2djvu -d=DPI -o output.djvu input.pdf
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 ==
pdfimages -all input.pdf out
donnera d'une part les images. On peut ensuite les convertir en *.pbm avec le script suivant :
#!/bin/bash
for filename in *
do
case "$filename" in
*.tif)
name=${filename%\.*}
convert "$filename" pbm/"${name}.pbm"
echo "converted $filename"
;;
*)
;;
esac
done
Ensuite, on convertit les images une à une en DJVU :
for i in *.pbm; do cjb2 -dpi 1200 -lossy "$i" djvu/"$i".djvu; done;
== 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'' :
for i in $(
où le fichier ''pages.txt'' est formaté de la manière suivante :
001 010 229 ...
== 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 :
ddjvu -format=tiff -eachpage input.djvu %02d.tiff
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 :
djvups out.djvu | ps2pdf - out.pdf
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 :
ddjvu -format=pdf -quality=85 -verbose a.djvu a.pdf
===== 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 :
(bookmarks
("Ma section 1" "#1"
("Ma sous-section 1" "#2"))
("Ma section 2" "#10")
)
où ''#X'' est le numéro de page dans le DJVU. Pour appliquer les marques-pages, il suffit ensuite d'effectuer la commande :
djvused out.djvu -e "set-outline bookmarks.txt" -s
==== 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//.)]
:
$ ./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")
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