Sommaire

Générer d’autres formats que du HTML

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 ...