Passer au contenu du pied de page
UTILISER IRONPDF POUR PYTHON

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

  1. Installer la bibliothèque IronPDF pour Python
  2. Instancier ChromePdfRenderer
  3. Ajouter du contenu texte
  4. Ajouter une image en tant que données binaires
  5. Créer une chaîne HTML avec du texte et des images
  6. Rendre le HTML en PDF en utilisant RenderHtmlAsPdf
  7. Enregistrer le fichier PDF en utilisant la méthode SaveAs

Introduction à IronPDF

IronPDF is a feature-rich Python library that provides developers with powerful tools for 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.

Comment créer des fichiers PDF avec du texte et des images en Python : Figure 1 - IronPDF pour Python : La bibliothèque PDF pour Python

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 :

  1. 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/).
  2. 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.
  3. 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.

  1. Cliquez sur Fichier > Nouveau projet.
  2. 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.
  3. Sous "Interpréteur de projet", sélectionnez l'interpréteur Python. Il détectera automatiquement l'interpréteur Python si vous avez installé Python.
  4. Choisissez le type de projet. Pour un projet Python simple, vous pouvez vous en tenir aux paramètres par défaut.

    Comment créer des fichiers PDF avec du texte et des images en Python : Figure 2 - Ouvrez l'IDE PyCharm. Allez dans le menu Fichier - Cliquez sur Nouveau projet. Entrez le nom et l'emplacement de votre projet Python. Ensuite, sélectionnez l'interpréteur Python sous Interpréteur de projet. Cliquez sur le bouton Créer pour créer le projet. Une fois le projet Python créé, ouvrez un nouveau fichier python et utilisez-le pour écrire le code pour générer des fichiers PDF à l'aide d'IronPDF.

  5. Cliquez sur Créer pour créer le projet.
  6. 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 pour Python à l'aide de PIP

Pour installer IronPDF, utilisez la commande PIP suivante dans le terminal ou l'invite de commandes de votre projet :

pip install ironpdf

Cette commande téléchargera et installera automatiquement la bibliothèque IronPDF avec ses dépendances.

Comment créer des fichiers PDF avec du texte et des images en Python : Figure 3 - Pour installer IronPDF, utilisez la commande suivante dans le terminal ou l'invite de commandes de votre projet : pip install ironpdf

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
from ironpdf import ChromePdfRenderer
import base64
PYTHON

É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()
# Instantiate Renderer
renderer = ChromePdfRenderer()
PYTHON

É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>
"""
# 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.

# 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>
"""
# 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>
"""
PYTHON

É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
full_html_content = html_content + imgHtml
PYTHON

É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)
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
PYTHON

É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")
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
PYTHON

Document PDF de sortie

Maintenant, après l'exécution du programme, le fichier PDF de sortie est le suivant :

Comment créer des fichiers PDF avec du texte et des images en Python : Figure 4 - SORTIE : output_with_text_and_image_top_right.pdf

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")
# 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 poussons le concept d'incorporation d'image plus loin avec des sources externes. Le contenu HTML dans la méthode RenderHtmlAsPdf inclut une balise  related to Utilisation avancée : Personnalisation du placement du texte et de l'image 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. For more detailed information on other ways of generating PDF format or modifying an existing PDF file, please visit the code examples and documentation page.

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.

IronPDF license or you can contact support for further queries.

Comment créer des fichiers PDF avec du texte et des images en Python : Figure 5 - Informations sur la licence IronPDF pour Python

Vous pouvez télécharger et installer la bibliothèque depuis le site web d'IronPDF.

Questions Fréquemment Posées

Comment puis-je créer un PDF avec du texte et des images en utilisant Python?

Vous pouvez utiliser le ChromePdfRenderer d'IronPDF pour créer un PDF avec du texte et des images en Python. Tout d'abord, installez la bibliothèque IronPDF, puis créez une chaîne HTML avec le contenu désiré. Utilisez la méthode RenderHtmlAsPdf pour rendre le HTML en un PDF, et enfin, enregistrez le PDF en utilisant la méthode SaveAs.

Quelles sont les étapes pour installer la bibliothèque PDF pour une utilisation en Python?

Pour installer la bibliothèque IronPDF pour Python, vous pouvez utiliser le gestionnaire de paquets PIP. Exécutez la commande pip install ironpdf dans votre ligne de commande ou terminal pour télécharger et installer la bibliothèque ainsi que ses dépendances.

Quelles sont les conditions préalables nécessaires pour utiliser une bibliothèque de création de PDF en Python?

Vous aurez besoin d'avoir Python installé sur votre machine, un IDE tel que PyCharm pour le développement, et la bibliothèque IronPDF. De plus, IronPDF nécessite le runtime Microsoft .NET pour fonctionner.

Est-il possible de personnaliser les PDFs en utilisant des CSS externes ou JavaScript avec des bibliothèques Python?

Oui, IronPDF vous permet d'utiliser des fichiers CSS et JavaScript externes pour personnaliser la mise en page et le design de vos PDFs. Cette fonctionnalité offre des options de personnalisation avancées pour le placement de texte et d'image.

La bibliothèque Python PDF peut-elle gérer la compatibilité multiplateforme?

IronPDF est conçu pour être compatible multiplateforme, garantissant que les PDFs que vous générez peuvent être consultés et utilisés de manière cohérente sur différents systèmes d'exploitation.

Pourquoi l'encodage base64 est-il utilisé pour les images dans la génération de PDF avec Python?

L'encodage base64 est utilisé pour convertir les données binaires des images en un format chaîne qui peut être intégré directement dans le HTML. Cela permet d'inclure des images dans le PDF sans avoir à se référer à des fichiers externes.

Quelles sont les fonctionnalités clés d'IronPDF pour Python?

IronPDF offre des fonctionnalités telles qu'une intégration facile avec les environnements Python, le support pour le texte enrichi et les images, et une compatibilité multiplateforme. Ces fonctionnalités en font un outil polyvalent pour générer des PDFs avec du contenu dynamique.

Comment IronPDF peut-il aider à générer des documents PDF dynamiques?

IronPDF fournit une puissante API qui permet aux développeurs de générer des PDFs avec du contenu dynamique tel que du texte et des images. Il prend en charge HTML et CSS pour le formatage, ce qui facilite la création de documents attrayants visuellement en Python.

Curtis Chau
Rédacteur technique

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

Lire la suite