from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
# 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")
Comment créer des fichiers PDF avec du texte et des images en Python
Jordi Bardia
mars 6, 2024
Partager:
À l'ère du numérique, la nécessité de générer des documents PDF avec un contenu dynamique, comprenant du texte et des images, est une exigence courante. Python est un langage de programmation populaire qui permet d'automatiser facilement les processus de routine pour gagner du temps et de l'énergie. Disposer d'une bibliothèque polyvalente pourcréer des fichiers PDF avec du texte et des images en Python peut s'avérer 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 au contenu enrichi.
Dans cet article, nous allons étudier comment utiliser IronPDF pour générer des PDF comprenant à 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 pour Python
Instancier ChromePdfRenderer
Ajouter du contenu textuel
Ajouter une image en tant que données binaires
Créer une chaîne HTML avec du texte et des images
Rendre HTML en PDF en utilisant RenderHtmlAsPdf
Enregistrer un fichier PDF à l'aide de la méthode SaveAs
Introduction à IronPDF
IronPDF est une bibliothèque Python riche en fonctionnalités qui fournit aux développeurs des outils puissants pourcréationles documents PDF peuvent être lus, manipulés et traités. 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, de la génération de rapports à la création de documents.
Principales caractéristiques d'IronPDF :
Intégration facile: IronPDF s'intègre de manière transparente aux environnements de développement Python les plus courants, ce qui le rend accessible aux développeurs utilisant des outils tels que PyCharm.
Prise en charge du texte enrichi: Il prend en charge la mise en forme du texte enrichi, ce qui permet aux développeurs de créer facilement des documents PDF visuellement attrayants.
Gestion des images: IronPDF permet d'inclure des images dans les PDF, ce qui offre une grande souplesse 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 utilisés de manière cohérente.
Conditions préalables
Avant de vous lancer dans la création de documents PDF à l'aide d'IronPDF, assurez-vous que vous disposez des conditions préalables suivantes :
Python installé: Python doit être installé sur votre ordinateur. Vous pouvez télécharger et installer la dernière version à partir du site officiel de Python(https://www.python.org/).
PyCharm IDE: 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 de Python.
IronPDF: Bibliothèque IronPDF téléchargée à partir deici ou installé en utilisant PIP(Gestionnaire de paquets Python). Le moteur d'exécution Microsoft .NET est également nécessaire pour utiliser avec succès les fonctionnalités d'IronPDF. Les utilisateurs de Linux, Mac et Windows peuvent télécharger la version .NET 6.0 à l'adresse suivantethis lien de téléchargement.
Créer un projet Python dans PyCharm
Une fois les conditions préalables remplies, ouvrez Python et créez un nouveau projet Python. Mettez en place un environnement virtuel pour votre projet afin de gérer efficacement les dépendances.
Cliquez sur Fichier > Nouveau projet.
Dans la fenêtre "Nouveau projet" :
Saisissez un nom pour votre projet dans le champ "Emplacement".
Choisissez l'emplacement où vous souhaitez enregistrer les fichiers de votre projet.
Sous "Project Interpreter", sélectionnez l'interpréteur Python. Il détectera automatiquement l'interprète 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 du code afin de générer des fichiers PDF à l'aide de la bibliothèque Python - IronPDF.
Installer IronPDF pour Python à l'aide de PIP
Pour installer IronPDF, utilisez la commande PIP suivante dans le terminal ou l'invite de commande de votre projet :
pip install ironpdf
Cette commande téléchargera et installera automatiquement la bibliothèque IronPDF ainsi que ses dépendances.
Créer un PDF simple avec du texte et des images
Voyons les étapes à suivre pour créer un document PDF d'une seule page comprenant à 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 d'IronPDF. Nous importons ChromePdfRenderer pour le rendu des PDF et base64 pour l'encodage des données d'image.
from ironpdf import ChromePdfRenderer
import base64
from ironpdf import ChromePdfRenderer
import base64
PYTHON
Étape 2 : Instancier ChromePdfRenderer
Ici, nous allons créer une instance de ChromePdfRenderer, qui sera utilisée pour rendre le contenu HTML en PDF.
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 textuel, converti par la suite en un seul fichier PDF. 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>
"""
# 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>
"""
PYTHON
Étape 4 : Ajouter une image
Ici, nous allons ouvrir et lire un fichier image(IronPDF-logo.png) en mode binaire, le convertir en un URI de données encodé en base64 et l'intégrer 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.
Étape 5 : Joindre les chaînes HTML de texte et d'image
Cette étape concatène les chaînes HTML du texte et de l'image pour créer le contenu HTML complet(full_html_content) qui sera rendu dans un fichier de sortie PDF.
full_html_content = html_content + imgHtml
full_html_content = html_content + imgHtml
PYTHON
Étape 6 : Rendre le contenu HTML sous forme de fichier PDF
Ici, la méthode RenderHtmlAsPdf est utilisée pour convertir le fichierHTML à PDF en utilisant le ChromePdfRenderer.
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
PYTHON
Étape 5 : Enregistrer le fichier PDF
Enfin, le PDF résultant est enregistré sous le nom de "output_with_text_and_image_top_right.pdf". Ce fichier contiendra le texte formaté 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")
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
PYTHON
Sortie d'un document PDF
Après avoir exécuté le programme, le fichier PDF de sortie est le suivant :
De même, plusieurs pages PDF peuvent être ajoutées à un fichier PDF en toute simplicité.
Utilisation avancée : Personnaliser l'emplacement du texte et des images
IronPDF offre des fonctions supplémentaires permettant d'affiner l'emplacement 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é en tant qu'argument facultatif à la méthode RenderHtmlAsPdf, comme le montre 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")
# 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")
PYTHON
Dans cet exemple de code avancé, nous approfondissons le concept d'intégration d'une image par le biais de sources externes. Le contenu HTML de la méthode RenderHtmlAsPdf comprend une balise pointant vers un fichier image (Iron.png) situé dans le répertoire d'actifs spécifié(C:\site\assets\). En outre, ce répertoire est défini comme paramètre BasePath.
Dans RenderHtmlAsPdf, vous pouvez envoyer une page web HTML complète comme indiqué dans les étapes ci-dessus. Le fichier CSS peut être référencé en utilisant le chemin de base comme deuxième paramètre facultatif. Pour obtenir des informations plus détaillées sur d'autres façons de générer le format PDF ou de modifier un fichier PDF existant, veuillez consulter la page d'accueil du site Web de la Commission européenneexemples de code etdocumentation page.
Conclusion
Dans cet article, nous avons exploré la manière d'utiliser lesIronPDF pour créer des fichiers PDF avec du texte et des images dans un projet Python. Grâce à son API intuitive et à ses puissantes fonctionnalités, IronPDF permet aux développeurs de générer sans effort des documents PDF dynamiques et visuellement attrayants. Que vous créiez des rapports, de la documentation ou tout autre type de contenu, IronPDF constitue une solution fiable et flexible pour la génération de PDF en Python. Expérimentez les options de personnalisation pour adapter vos PDF à des exigences de conception spécifiques, ce qui fait d'IronPDF un outil précieux pour vos besoins de génération de documents.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Comment générer un fichier PDF en Python
SUIVANT > Comment ajouter des numéros de page à un PDF en Python
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier