
Comment créer des fichiers PDF avec du texte et des images en Python
Dans ce monde numérique moderne, la nécessité de générer des documents PDF avec du contenu dynamique, y compris du texte et des images, est une exigence courante. Python est un langage de programmation populaire qui facilite l'automatisation des processus routiniers pour gagner du temps et de l'énergie. Disposer d'une bibliothèque polyvalente pour créer des fichiers PDF avec du texte et des images en Python peut être très pratique pour la génération automatique de rapports, de reçus ou de factures. IronPDF, une bibliothèque Python polyvalente, simplifie le processus de création de PDF avec un contenu riche.
Dans cet article, nous verrons comment utiliser IronPDF pour générer des PDF incluant à la fois du texte et des images dans un projet Python.
Comment créer des fichiers PDF avec du texte et des images en Python
- Installer la bibliothèque IronPDF for Python
- Instancier ChromePdfRenderer
- Ajouter du contenu texte
- Ajouter une image en tant que données binaires
- Créer une chaîne HTML avec du texte et des images
- Rendre le HTML en PDF en utilisant RenderHtmlAsPdf
- Enregistrer le fichier PDF en utilisant la méthode SaveAs
Introduction à IronPDF
IronPDF est une bibliothèque Python riche en fonctionnalités qui offre aux développeurs des outils puissants pour créer, manipuler et traiter les documents PDF. Avec IronPDF, vous pouvez facilement incorporer du texte, des images, des tableaux et d'autres éléments dans vos PDF, ce qui en fait un atout précieux pour un large éventail d'applications, allant de la génération de rapports à la création de documents.

Caractéristiques clés d'IronPDF :
- Intégration facile : IronPDF s'intègre parfaitement aux environnements de développement Python populaires, ce qui le rend accessible aux développeurs utilisant des outils comme PyCharm.
- Support du texte enrichi : Il prend en charge le formatage de texte enrichi, permettant aux développeurs de créer facilement des documents PDF visuellement attrayants.
- Gestion des images : IronPDF permet l'inclusion d'images dans les PDF, offrant une flexibilité dans la conception et la personnalisation des documents.
- Compatibilité multiplateforme : IronPDF fonctionne sur différentes plateformes, garantissant que les PDF générés peuvent être visualisés et interactifs de manière cohérente.
Prérequis
Avant de plonger dans le processus de création de documents PDF à l'aide d'IronPDF, assurez-vous que vous avez en place les prérequis suivants :
- Python installé : Python doit être installé sur votre ordinateur. Vous pouvez télécharger et installer la dernière version depuis le site officiel de Python (https://www.python.org/]).
- IDE PyCharm : Utilisez PyCharm ou tout autre IDE Python de votre choix. PyCharm est un environnement de développement intégré populaire qui offre un espace de travail confortable pour le développement Python.
- IronPDF : Bibliothèque IronPDF téléchargée depuis ici ou installée en utilisant PIP (Python Package Manager). Le runtime Microsoft .NET est également requis pour utiliser avec succès les fonctionnalités d'IronPDF. Les utilisateurs Linux, Mac et Windows peuvent télécharger la version .NET 6.0 en utilisant ce lien de téléchargement.
Créer un projet Python dans PyCharm
Une fois les prérequis remplis, ouvrez PyCharm et créez un nouveau projet Python. Configurez un environnement virtuel pour votre projet afin de gérer les dépendances de manière efficace.
- Cliquez sur Fichier > Nouveau projet.
- Dans la fenêtre "Nouveau Projet" :
- Entrez un nom pour votre projet dans le champ "Location".
- Choisissez l'emplacement où vous souhaitez enregistrer vos fichiers de projet.
-
Sous "Interpréteur de projet", sélectionnez l'interpréteur Python. Il détectera automatiquement l'interpréteur Python si vous avez installé Python.
-
Choisissez le type de projet. Pour un projet Python simple, vous pouvez vous en tenir aux paramètres par défaut.

-
Cliquez sur Créer pour créer le projet.
-
Ouvrez un nouveau fichier python et enregistrez-le pour écrire le code pour générer des fichiers PDF à l'aide de la bibliothèque Python - IronPDF.
Installer IronPDF for Python à l'aide de PIP
Pour installer IronPDF, utilisez la commande PIP suivante dans le terminal ou l'invite de commandes de votre projet :
Cette commande téléchargera et installera automatiquement la bibliothèque IronPDF avec ses dépendances.

Créer un PDF simple avec du texte et des images
Parcourons les étapes pour créer un document d'une seule page PDF qui inclut à la fois du texte et des images à l'aide d'IronPDF :
Étape 1 : Importer IronPDF
Dans cette étape, nous importons tous les modules nécessaires depuis IronPDF. Nous importons ChromePdfRenderer pour le rendu des PDF et base64 pour encoder les données d'image.
from ironpdf import ChromePdfRenderer
import base64
Étape 2 : Instancier ChromePdfRenderer
Ici, nous allons créer une instance du ChromePdfRenderer, qui sera utilisée pour rendre le contenu HTML en PDF.
# Instantiate Renderer
renderer = ChromePdfRenderer()
Étape 3 : Ajouter le contenu texte
Dans cette étape, nous allons définir une chaîne HTML (html_content) qui comprend la structure du document HTML, y compris l'en-tête, le corps et une section avec du contenu texte qui sera ensuite convertie en un fichier PDF unique. Le style CSS est utilisé pour positionner le texte et l'image.
# HTML String with Text
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDF Generation Example</title>
<style>
body {
margin: 0; /* Remove default margin */
padding: 20px; /* Add padding for better visibility */
position: relative; /* Set the body as a relative position */
}
header {
text-align: center;
}
section {
margin-top: 20px; /* Add margin to separate sections */
}
img {
position: absolute;
top: 20px; /* Adjust the top position */
right: 20px; /* Adjust the right position */
}
</style>
</head>
<body>
<header>
<h1>PDF Generation Example</h1>
</header>
<section id="contentSection">
<h2>Text and Image in PDF</h2>
<p>This PDF includes both text and an embedded image:</p>
<p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""
Étape 4 : Ajouter une image
Ici, nous ouvrirons et lirons un fichier image (IronPDF-logo.png) en mode binaire, le convertirons en une URI de données encodées en base64, et l'intégrerons dans la chaîne HTML. L'image est ensuite positionnée à l'aide de styles CSS pour apparaître dans le coin supérieur droit.
# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
pngBinaryData = f.read()
imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
imgHtml = f"""<!-- Embedded Image -->
<img src='{imgDataUri}' width=100px height=100px
alt="IronPDF Logo">
</section>
</body>
</html>
"""
Étape 5 : Joindre la chaîne HTML de texte et d'image
Cette étape concatène les chaînes HTML de texte et d'image pour créer le contenu HTML complet (full_html_content) qui sera rendu en un fichier de sortie PDF.
full_html_content = html_content + imgHtml
Étape 6 : Rendre le contenu HTML en fichier PDF
Ici, la méthode RenderHtmlAsPdf est utilisée pour convertir le HTML en PDF à l'aide de ChromePdfRenderer.
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
Étape 7 : Enregistrer le fichier PDF
Enfin, le PDF résultant est sauvegardé sous le nom "output_with_text_and_image_top_right.pdf". Ce fichier contiendra le texte mis en forme et l'image intégrée positionnée dans le coin supérieur droit.
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
Document PDF de sortie
Maintenant, après l'exécution du programme, le fichier PDF de sortie est le suivant :

De la même manière, plusieurs pages PDF peuvent être ajoutées à un fichier PDF avec facilité.
Utilisation avancée : Personnalisation du placement du texte et de l'image
IronPDF offre des fonctionnalités supplémentaires pour peaufiner le placement et le style du texte et des images dans le PDF à l'aide d'un fichier CSS/JavaScript externe. Le chemin de base peut être envoyé comme argument optionnel à la méthode RenderHtmlAsPdf, comme démontré dans le code suivant :
# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from.
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
Dans cet exemple de code avancé, nous poussons le concept d'incorporation d'image plus loin avec des sources externes. Le contenu HTML dans la méthode RenderHtmlAsPdf inclut une balise pointant vers un fichier image (iron.png) situé dans le répertoire des ressources spécifié (**C:\site\assets**). De plus, ce répertoire est défini comme paramètre BasePath.
Dans RenderHtmlAsPdf, vous pouvez envoyer une page web HTML complète comme montré dans les étapes ci-dessus. Le fichier CSS peut être référencé en utilisant le chemin de base comme deuxième paramètre optionnel. Pour plus d'informations détaillées sur d'autres manières de générer un format PDF ou de modifier un fichier PDF existant, veuillez visiter la page des exemples de code et de la documentation.
Conclusion
Dans cet article, nous avons exploré comment utiliser IronPDF pour créer des fichiers PDF avec du texte et des images dans un projet Python. Avec son API intuitive et ses fonctionnalités puissantes, IronPDF permet aux développeurs de générer facilement des documents PDF dynamiques et visuellement attrayants. Que vous créiez des rapports, de la documentation ou tout autre type de contenu, IronPDF fournit une solution fiable et flexible pour la génération de PDF en Python. Expérimentez avec les options de personnalisation pour adapter vos PDF aux exigences de conception spécifiques, faisant d'IronPDF un outil précieux pour vos besoins en génération de documents.
Licence IronPDF ou vous pouvez contacter le support pour d'autres questions.
Vous pouvez télécharger et installer la bibliothèque depuis le site web d'IronPDF.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.
Articles connexes


