1. Des produits
  2.   PDF
  3.   Python
  4.   XHTML2PDF
 
  

Bibliothèque Python gratuite pour la conversion de HTML et CSS en PDF

Bibliothèque Python open source permettant de générer des documents PDF à partir de HTML. Elle prend en charge la mise en page avancée, le rendu d'images et de tableaux, l'ajout de polices personnalisées, les en-têtes/pieds de page, etc.

Qu’est‑ce que la bibliothèque XHTML2PDF ?

Dans le monde du développement web, le besoin de générer des documents PDF à partir de contenu HTML est une exigence courante. Que ce soit pour créer des factures, des rapports ou tout autre type de document imprimable, disposer d’un outil fiable pour gérer cette conversion est crucial. C’est là que XHTML2PDF, une puissante bibliothèque Python open‑source, entre en jeu. html2pdf (anciennement connu sous le nom de pisa) est une bibliothèque pure‑Python qui transforme le HTML (y compris le XHTML) et le CSS en documents PDF. Elle est construite sur le toolkit ReportLab et html5lib, avec un support optionnel de PyPDF. Indépendante de la plateforme et accessible, elle permet aux développeurs de convertir rapidement et efficacement leur contenu web en PDF imprimables.

XHTML2PDF est doté de nombreuses fonctionnalités qui en font un outil polyvalent pour la génération de PDF. Il prend en charge HTML5 et CSS 2.1, une intégration transparente avec Django, une puissante interface en ligne de commande, des balises spécifiques aux PDF personnalisées, une mise en page et un style avancés, une meilleure prise en charge des tableaux et des images, etc. Ce qui rend XHTML2PDF si attrayant pour les développeurs, c’est sa simplicité et sa flexibilité. Si vous savez écrire du HTML et du CSS, vous pouvez commencer à générer des PDF avec cette bibliothèque en un rien de temps. C’est une bibliothèque purement Python, ce qui signifie qu’elle est indépendante de la plateforme et peut fonctionner sur tout système d’exploitation supportant Python. Il est également important de connaître les limites de la bibliothèque : elle ne prend pas en charge l’ensemble de la spécification CSS et n’exécute pas de JavaScript.

Previous Next

Premiers pas avec XHTML2PDF

XHTML2PDF peut être installé avec pip, les commandes suivantes installeront à partir d’une roue Python si une version est disponible pour votre plateforme.

Installer XHTML2PDF via pip

 pip install xhtml2pdf 

Cloner le dépôt via GitHUB

 git clone https://github.com/xhtml2pdf/xhtml2pdf.git  

Il est également possible de l’installer manuellement ; téléchargez les fichiers de la dernière version directement depuis le dépôt GitHub.

Convertir HTML et CSS en PDF via Python

La fonction principale de la bibliothèque open source XHTML2PDF est d'analyser le HTML et le CSS (y compris les styles en ligne) et de les rendre avec précision dans un document PDF. Elle prend en charge un large sous-ensemble de balises HTML et de propriétés CSS, offrant une grande flexibilité de conception. Elle supporte des fonctionnalités telles que les sauts de page, les en-têtes et pieds de page, les marges et la taille de la page, l'intégration de polices, etc. L'exemple simple suivant montre comment les développeurs peuvent convertir du contenu HTML en fichier PDF via du code Python.

Comment convertir le contenu HTML en fichier PDF via Python ?

from xhtml2pdf import pisa

# Le contenu HTML à convertir
html_content = """


Bonjour, le monde!

Ceci est mon premier PDF généré avec XHTML2PDF.

""" # Le nom du fichier PDF de sortie output_filename = "hello_world.pdf" # Ouvrir le fichier de sortie en mode écriture binaire with open(output_filename, "w+b") as pdf_file: # Create the PDF pisa_status = pisa.CreatePDF( html_content, # the HTML to convert dest=pdf_file) # file handle to receive result # Vérifier si la création du PDF a réussi if not pisa_status.err: print(f"Successfully created PDF: {output_filename}") else: print(f"Error creating PDF: {pisa_status.err}")

Mise en page avancée et prise en charge des polices personnalisées

Avec la bibliothèque XHTML2PDF, les développeurs ont un contrôle granulaire sur la mise en page de leurs pages PDF. Ils peuvent définir la taille, les marges et l'orientation de la page en utilisant la règle CSS @page. Les développeurs peuvent également créer des en-têtes et pieds de page personnalisés pour leurs documents. De plus, si vous devez utiliser des polices spécifiques dans vos PDF, la bibliothèque vous permet d'intégrer des polices personnalisées. Cela est particulièrement utile pour le branding et pour garantir une typographie cohérente dans tous les documents.

Rendu d'images et de tableaux PDF via la bibliothèque Python

La bibliothèque open source XHTML2PDF offre un support robuste pour le rendu des tableaux et des images dans vos PDF. Vous pouvez styliser vos tableaux en utilisant CSS, et pour les images, vous pouvez contrôler leur taille et leur alignement. La bibliothèque peut facilement et correctement résoudre ainsi qu’intégrer des images, des polices et d’autres actifs statiques, ce qui est essentiel pour générer des PDF autonomes. Vous pouvez générer automatiquement une table des matières en ajoutant simplement la balise à votre HTML.

Prise en charge de HTML5 et CSS 2.1

Si vous êtes familier avec HTML et CSS, recréer des PDF avec du style devient intuitif—aucune courbe d’apprentissage supplémentaire. La bibliothèque XHTML2PDF offre un excellent support des normes web modernes, y compris HTML5 et CSS 2.1, avec un certain support des propriétés CSS 3. Cela signifie que vous pouvez utiliser des balises HTML familières et des propriétés CSS pour structurer et styliser vos documents PDF, tout comme vous le feriez pour une page web.

 Français