Doc /

MiseEnLigneDeDocumentsComplexes

Il s'agit de voir comment mettre en ligne de façon utilisable des documents trop complexes pour pouvoir être tapés en html à la main.

Réalisation avec OpenOffice

OpenOffice est capable de gérer des documents très complexes, mais il n'est pas sans défauts.

Il faut impérativement utiliser les titres si on veut pouvoir faire ensuite de la mise en page html ou autre.

Pour insérer des images, il faut les ancrer "comme caractère", sinon l'export html ne fonctionne pas.

Export vers le html monolithique

Openoffice fait cet export sans problème, si on prend bien les précautions indiquées plus haut.

La page est complexe, presque impossible à retoucher à la main. OpenOffice essaie, en effet, de conserver la mise en page "imprimable" dans le code html.

Je parle ici de Openoffice texte, la version présentation dispose d'un export hmtl très évolué.

Attention, bien que je parle d'export, dans OpenOffice on parle de simple "enregistrement sous", du coup on se retrouve avec un nouveau document exporté en html, pas avec l'ancien. Il faut donc absolument sauvegarder son document _avant_ de l'enregistrer en html.

Export en PDF

L'export en PDF (c'est bien un export, cette fois-ci) d'OpenOffice est très bon.

Retouche des images dans openoffice.org

Quand il n'y a qu'une image à retoucher il est sans doute plus simple de la copier dans un programme de retouche et de la ré-importer dans OpenOffice.org. Je ne sais pas faire l'édition directement depuis OpenOffice.org.

S'il faut retoucher beaucoup d'images, il est plus simple d'utiliser des outils en ligne de commande.

Le format de fichiers OpenOffice.org est spécial. En fait, il s'agit d'un fichier "zip". Recopiez votre fichier OpenOffice.org en changeant l'extension odt en zip

 cp manuel-3.odt manuel-3.zip

Ouvrez ce fichier avec n'importe quel outil (avec Konqueror, il suffit de cliquer dessus) et recopiez le répertoire "Pictures" dans un répertoire temporaire. Entrez dans ce répertoire et faites vos modifications. Ne changez ni le nom ni l'extension des fichiers.

Par exemple, après un scan, j'avais sur chaque page une image fantôme du verso de la feuille qui génait un peu. je l'ai supprimé avec :

 mogrify -white-threshold 82% *.png

J'ai ensuite ré-intégré les fichiers image dans le zip original :

 zip -vrf ../optique-03-3-1.zip *

Il suffit ensuite de remettre l'extension odt pour que le fichier soit ouvert par OpenOffice.org.

Pratiquez quand même sur des copies de fichier, je ne connais pas la sensibilité d'OpenOffice.org à ses modifications.

Transformation d'une page html monolitique en html paginé

Il faut utiliser "htmldoc", disponible sur ma SUSE Linux 10.0.

Ce produit a même une interface graphique conviviale (tapez htmldoc dans une console, l'interface graphique s'ouvre).

Il sait faire toutes sortes de conversions, à partir de la page html fournie par OpenOffice.

Il est bogué, mais de façon peu gênante, dans la saisie des noms de répertoire, il faut parfois corriger le chemin à la main.

Transformation de pdf en html paginé

pdftohtml est capable de faire du html à partir du pdf, c'est son but :-), avec l'option -c il donne le résultat sous forme multipages.

Le document apparaît à raison d'une page html par page du document imprimé. C'est très agréable à regarder. Par contre il n'y a pas de navigation d'une page à l'autre, les pages sont accessibles dans une "frame", listées dans la frame à gauche.

Il y a une page "table des matières" qui ne donne rien de lisible pour moi, je l'ai donc supprimée et j'ai enlevé le lien dans l'index, ce qui est très facile (mais il faut le faire à chaque traitement).

Scan vers pdf par page

Mon scanner à plat Canon ne permet pas de reprendre un document pdf entammé. Du coup si on ne peut pas faire la saisie de l'ouvrage en une seule fois, on se retrouve avec des documents pdf multiples.

Il s'agit bien de scans bruts, c'est à dire d'images (au format ppm, dans mon cas), pas de reconnaissance de caractères, OpenOffice.org est donc inutile ici.

Par contre, l'outil "pdftk" (pdf toolkit) arrive très bien à concaténer les pdf, faisant un seul fichier de plusieurs.

La syntaxe est un peu curieuse. Par exemple :

 pdftk *.PDF cat output manuel_complet.pdf

Il est même simple, dans ce cas, de prévoir un scan en un fichier pdf par page.

En fait, dans ce cas, les opérations se présentent comme suit :

  • scanner le document page par page avec sortie en pdf (pilote canon)
  • transférer sous Linux
  • faire un pdf unique (ensuite la version par page n'est plus utile)
 pdftk *.PDF cat output manuel_complet.pdf
  • adapter le nom des fichiers si nécessaire Changer le nom d'un fichier
  • convertir en html paginé, ce qui permet d'extraire les images au format png
 pdftohtml -c  philosophie.pdf

On peut ensuite supprimer les pages html qui ont été créées avec des liens vers le png (trop volumineux pour internet)

  1. lstohtml
  2. jpgtohtml
  • créer l'index
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<HTML>
<HEAD>
<TITLE>dictionnaire</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">

</HEAD>
<FRAMESET cols="100,*">
<FRAME name="links" src="liens.html">
<FRAME name="contents" src="dicoff001.jpg.html">
</FRAMESET>
</HTML>

Scanner vers jpg

Si on a des scans en jpg, on peut en faire un pdf avec

 $  convert *.jpg photos.pdf

Si la taille des images est raisonable, le pdf l'est aussi. Mieux vaut sans doute grouper en pdf aprés avoir réduit pour la galerie.