1. Générer un fichier PDF
Dans le chapitre Les templates concernant
les templates on a vu que l’on peut générer
n’importe quel format basé sur du texte avec les
templates Django. Ce qui veut dire que l’on peut générer
du XML et donc par exemple des fichiers ODT (OpenDocument de LibreOffice/OpenOffice),
avec un peu d’effort tout de même. Pour ce qui
est du format PDF, il existe de nombreux outils que l’on peut
utiliser pour en générer à partir d’une
page HTML/CSS, de XML ou même de ODT. Citons :
xhtml2pdf : convertisseur HTML/CSS vers PDF écrit
en Python. Intégrable simplement et immédiatement à Django.
« The Apache™ FOP Project » : générateur de
fichiers PDF à partir de commandes en XML. Convertisseur écrit
en Java, accessible en ligne de commande.
django-uwkhtmltopdf : convertisseur HTML vers PDF basé sur uwkhtmltopdf.
django-webodt : convertisseur HTML et ODT vers PDF, Images, .doc (Word)
ou RTF.
weasyprint : convertisseur HTML vers PDF.
HTMLdoc : script de conversion du HTML vers le PDF.
Tous ces outils restent de la conversion de
formats texte vers HTML et donc utilisent des templates. Ce n’est
donc pas ce que nous allons voir dans ce chapitre. Comment construire
un fichier sans passer par des templates ? Ce principe s’applique à tous
les formats binaires ou spéciaux. Nous verrons deux ...