UTILISATION D'IRONPDF POUR PYTHON

Comment créer des fichiers PDF avec du texte et des images en Python

À 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 pour créer des fichiers PDF avec du texte et des images en Python peut être très utile pour la génération automatique de rapports, reçus ou factures. IronPDF, une bibliothèque Python polyvalente, simplifie le processus de création de PDFs avec un contenu riche.

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

  1. Installer la bibliothèque IronPDF pour Python

  2. Instancier ChromePdfRenderer

  3. Ajouter du contenu textuel

  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 HTML en PDF en utilisant RenderHtmlAsPdf

  7. Enregistrer un fichier PDF à l'aide de 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 des 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, 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 for Python : La bibliothèque PDF Python

Principales caractéristiques d'IronPDF :

  • Intégration facile : IronPDF s'intègre parfaitement avec les environnements de développement Python populaires, le rendant accessible aux développeurs utilisant des outils comme PyCharm.
  • Prise en charge du texte enrichi : Il prend en charge le formatage du 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 consulté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 :

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

  3. IronPDF : Bibliothèque IronPDF téléchargée depuis ici ou installée à l'aide de 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 en utilisant ce 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.

  1. Cliquez sur Fichier > Nouveau projet.

  2. 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.
  3. Sous "Project Interpreter", sélectionnez l'interpréteur Python. Il détectera automatiquement l'interprète 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 - Ouvrir PyCharm IDE. Aller au menu Fichier - cliquer sur Nouveau projet. Saisissez le nom et l'emplacement de votre projet Python. Ensuite, sélectionnez l'interpréteur Python sous "Project Interpreter&quot ;. 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 du code afin de générer des fichiers PDF en utilisant IronPDF.

  5. Cliquez sur Créer pour créer le projet.

  6. Ouvrez un nouveau fichier Python et enregistrez-le pour écrire du code afin de générer des fichiers PDF en utilisant 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.

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 commande de votre projet : pip install ironpdf

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 PDFs et base64 pour l'encodage des données d'image.

from ironpdf import ChromePdfRenderer
import base64
py
PYTHON

Étape 2 : Instancier ChromePdfRenderer

Ici, nous allons créer une instance de ChromePdfRenderer, qui sera utilisée pour convertir le contenu HTML en PDF.

# Instantiate Renderer
renderer = ChromePdfRenderer()
py
PYTHON

Étape 3 : Ajouter du contenu textuel

Dans cette étape, nous allons définir une chaîne HTML (html_content) qui inclut la structure du document HTML, y compris l'en-tête, le corps, et une section avec du contenu textuel qui sera plus tard converti 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>
"""
py
PYTHON

Étape 4 : Ajouter une image

Ici, nous allons ouvrir et lire un fichier image (ironpdf-logo.png) en mode binaire, le convertir en une URI de données encodée 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.

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

Étape 5 : Joindre les chaînes 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 dans un fichier de sortie PDF.

full_html_content = html_content + imgHtml
py
PYTHON

Étape 6 : Rendre le contenu HTML sous forme de fichier PDF

Ici, la méthode RenderHtmlAsPdf est utilisée pour convertir le HTML en PDF en utilisant le ChromePdfRenderer.

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

Sortie d'un document PDF

Après avoir exécuté le 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 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")
py
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 à l'intérieur de la méthode RenderHtmlAsPdf inclut une balise  related to Utilisation avancée : Personnaliser l'emplacement du texte et des imagespointant 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 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 plus d'informations détaillées sur d'autres méthodes de génération de format PDF ou de modification d'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. 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.

IronPDF licence ou vous pouvez contacter le support pour d'autres questions.

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

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

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
Comment générer un fichier PDF en Python
SUIVANT >
Comment ajouter des numéros de page à un PDF en Python