Truc LF: Générer des PDF depuis des documents html
    ArticleCategory:
    Applications
    AuthorImage:[Here we need a little image from you]
    ![[Photo of the Author]](../../common/images/Guido-S.gif) 
 
    TranslationInfo:[Author + translation history. mailto: or
    http://homepage]
    original in en Guido Socher
    
    en to fr Jean-Etienne Poirrier
    AboutTheAuthor:[A small biography about the author]
    Il y a quelques temps, nous avions dit que LinuxFocus voulait rendre 
    disponible les articles au format PDF. Nous avons reçu un certain nombre 
    de suggestions en réponse, que nous résumons ici, dans ce truc. Merci 
    beaucoup pour toutes les suggestions.
    
Abstract:
 C'est une petite astuce. A partir de maintenant, LinuxFocus aura au moins 
 une nouvelle astuce tous les mois. Si vous avez des idées pour une nouvelle 
 astuce, envoyez-les à guido(le signe « à »)linuxfocus.org
    ArticleIllustration:
     
 
    ArticleBody:
    Introduction
Vous avez probablement remarqué que nous avons maintenant des fichiers PDF 
pour tous les articles dont la langue utilise l'ensemble des caractères iso8859-1. 
Cela n'a pas été facile à implémenter car nous voulions qu'ils soient générés 
automatiquement afin d'éviter que les documents texte/html et PDF diffèrent.
Voici notre expérience avec une liste d'options sur la manière de 
générer un PDF en général.
    L'idée
Tous les systèmes Linux possèdent l'utilitaire Ghostscript ps2pdf. ps2pdf 
fonctionne très bien et la qualité des PDF générés est bonne. En d'autres 
mots, nous pouvons toujours générer les fichier PDF si nous gérons le 
document comme un fichier postscript.
Le système d'impression de Linux est basé sur postscript ; ainsi, 
cela devrait être simple !? Le problème est réellement de trouver une manière 
de le réaliser avec un script en ligne de commande. Vous ne souhaitez pas 
cliquer avec la souris lorsque vous avez besoin d'imprimer quelques centaines 
d'articles.
Si vous n'êtes pas concernés par les tables, les couleurs et les images, 
alors une combinaison de « lynx -dump .... | nenscript » et ps2pdf fonctionnera. Si, 
par contre, vous avez besoin des tables et des images, continuez votre lecture.
    Les candidats
html2ps
C'est un script Perl et la version testée ici était html2ps 1.0 beta3. La 
page d'accueil est http://user.it.uu.se/~jan/html2ps.html
Le programme fonctionne assez bien. Il requiert cependant beaucoup de modules 
Perl comme dépendances et il a des problèmes avec les tables des pages pour 
les structurer. C'est une bonne solution si vous avez une disposition graphique 
très simple.
LaTeX
Il y a un convertisseur de LaTeX vers PDF. En utilisant XSLT, vous pouvez 
transformer du HTML en LaTeX. Un pré-requis pour cela est d'avoir un fichier 
HTML syntaxiquement correct. Cela peut être réalisé avec l'utilitaire Tidy :
HTML --(tidy)--> XHTML --(XSLT)--> Latex --(pdflatex)--> PDF
Je n'ai pas investigué plus loin dans cette voie parce que je trouve XSLT et 
LaTeX trop lourds et complexes.
Télécommande de navigateur web
Si, d'une manière ou d'une autre, il était possible de commander à distance 
un navigateur web, alors nous aurions l'avantage d'un fichier PDF généré, 
identique à ce que vous voyez normalement dans votre navigateur web. Le 
problème est qu'il faut un affichage X11. Il n'est donc pas possible de le faire 
exécuter par un job cron.
Le projet Mozilla a amélioré l'impression et le rendu. Cela a cependant enlevé 
quelques possibilités de contrôle à distance que Netscape Communicator avait. 
La solution suivante ne fonctionnera donc qu'avec Communicator 4.x :
netscape -noraise -remote "openurl(http://unepage)"
sleep(10) # il n'y a pas moyen de savoir si une page est complètement chargée
          # donc, nous attendons un peu
netscape -noraise -remote saveas(unepage.ps,PostScript)
sleep(10)
ps2pdf unepage.ps
Quelques lecteurs m'ont dit qu'ils pensaient que la télécommande d'impression 
devrait être également possible avec Konqueror mais personne n'a pu me 
fournir de solution fonctionnelle.
htmldoc
Htmldoc est un utilitaire très bien écrit de http://www.htmldoc.org/. La 
commande suivante va faire exactement ce que nous voulons :
htmldoc -t pdf -webpage -f fichier.pdf fichier.html
Nous avons utilisé la version 1.8.24 et elle fonctionnait parfaitement. Le 
seul problème est que les fichiers PDF résultants sont, en moyenne, 10 fois 
plus gros que n'importe quel autre fichier PDF généré par les autres solutions, 
peu importe l'option de compression que vous utilisez dans htmldoc. C'est un 
gros problème si vous avez des centaines de documents.
Conclusion
Nous utilisons maintenant une combinaison de télécommande Netscape et 
Htmldoc. Nous ne pouvons pas compter uniquement sur Htmldoc, vu la taille 
des fichiers générés. Si vous avez d'autres suggestions ou des idées à ce 
sujet, écrivez-nous !