Truc LF: G�n�rer des PDF depuis des documents html
ArticleCategory:
Applications
AuthorImage:[Here we need a little image from you]
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 !