Comment convertir du HTML en PDF en utilisant IronPDF pour Python

HTML à PDF : Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

Ce guide fournit aux développeurs Python des instructions étape par étape sur l'utilisation de la bibliothèque IronPDF pour convertir du contenu HTML en fichiers au format PDF de haute qualité (format de document portable).

IronPDF est une bibliothèque complète de conversion et de traitement PDF qui prend en charge plusieurs langages de programmation, y compris les langages .NET, Java, et Python. Ce tutoriel se concentre spécifiquement sur l'utilisation d'IronPDF dans des scripts Python pour convertir du contenu HTML, qu'il soit sous forme de fichiers ou de balisage.

Un tutoriel séparé pour convertir du HTML en PDF dans les applications .NET est également disponible.


Vue d'ensemble


{"S":"Pour commencer"}

1. Installer la Bibliothèque PDF IronPDF pour Python

Pour installer la bibliothèque IronPDF pour Python, vous pouvez utiliser le gestionnaire de paquets populaire, pip. Exécutez simplement la commande suivante :

pip install ironpdf

ConseilsPour installer une version spécifique d'IronPdf, veuillez utiliser la syntaxe suivante : ==2023.x.x. Par exemple, vous pouvez exécuter la commande:

pip install ironpdf==2023.x.x
pip install ironpdf==2023.x.x
SHELL

Veuillez noterIronPDF for Python s'appuie sur la bibliothèque IronPDF for .NET, plus précisément .NET 6.0, en tant que technologie sous-jacente. Par conséquent, il est nécessaire d'avoir le .NET 6.0 SDK installé sur votre machine afin d'utiliser IronPDF pour Python.
@


Guide pratique et exemples de code

2. Convertir HTML en PDF

Dans la section suivante, nous explorerons les capacités de rendu impressionnantes d'IronPDF pour convertir du HTML en PDF.

Le composant principal pour le rendu de documents PDF est la classe ChromePdfRenderer. De plus, la classe PdfDocument offre une gamme de fonctionnalités de manipulation. IronPDF fournit des méthodes fiables pour convertir le contenu HTML en documents PDF, couvrant trois scénarios clés :

  • Convertir des chaînes/balisages HTML en PDF
  • Convertir des fichiers/archives HTML en PDF
  • Convertir des URLs en PDF

Cette section fournira un aperçu concis de chaque cas d'utilisation, accompagné de ressources supplémentaires pour plus de détails.

2.1 Importer le Package IronPDF

Pour importer IronPDF, incluez l'instruction d'importation suivante au début des fichiers sources où IronPDF sera utilisé :

# Import statement for IronPDF for Python
from ironpdf import *
# Import statement for IronPDF for Python
from ironpdf import *
PYTHON

2.2 Définir la Clé de Licence (optionnel)

IronPDF pour Python est gratuit à utiliser, mais il ajoute un filigrane en arrière-plan dans les PDFs pour les utilisateurs gratuits.

Visitez la page de licence pour obtenir votre clé de licence et profiter d'un PDF sans filigrane.

Pour générer des PDFs sans filigranes en utilisant IronPDF, il est nécessaire de fournir une clé de licence valide à la bibliothèque. L'extrait de code suivant démontre comment configurer la bibliothèque avec une clé de licence :

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
PYTHON

Assurez-vous que la clé de licence est définie avant de générer des fichiers PDF ou de modifier leur contenu. Il est recommandé d'appeler la méthode LicenseKey avant toute autre ligne de code. Vous pouvez acheter une clé de licence depuis notre page de licence ou nous contacter pour obtenir une clé de licence d'essai gratuite.

2.3 Définir l'Emplacement du Fichier de Log (optionnel)

IronPDF peut générer des messages de log dans un fichier texte nommé Default.log dans le même répertoire que votre script Python.

Si vous souhaitez personnaliser le nom et l'emplacement du fichier de log, vous pouvez définir la propriété LogFilePath en utilisant l'extrait de code ci-dessous :

# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
PYTHON

Veuillez noterLogger.LogFilePath doit être appelé avant d'utiliser toute méthode de conversion et de manipulation de PDF.

2.4 Créer un PDF à partir d'une Chaîne HTML

La méthode RenderHtmlAsPdf convertit une chaîne HTML en document au format PDF.

L'extrait de code ci-dessous démontre comment générer un fichier PDF à partir d'une chaîne HTML avec un seul élément titre :

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>")

# Export to a file or Stream
pdf.SaveAs("output.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>")

# Export to a file or Stream
pdf.SaveAs("output.pdf")
PYTHON
Html To Pdf 5 related to 2.4 Créer un PDF à partir d'une Chaîne HTML

la méthode RenderHtmlAsPdf est capable de rendre différents types de contenu HTML. S'il peut être affiché dans Chrome, alors RenderHtmlAsPdf le rendra !

La méthode RenderHtmlAsPdf traite le HTML, le CSS et le JavaScript de la même manière que les navigateurs modernes, ce qui garantit un rendu précis du contenu. Cette fonctionnalité permet aux ingénieurs logiciels de créer des PDF qui ressemblent étroitement à leurs équivalents dans les navigateurs web.

En outre, la méthode RenderHtmlAsPdf peut gérer des ressources externes telles que des images, feuilles de style, et scripts situés dans des dossiers locaux ou en réseau. L'exemple suivant montre la création d'un document PDF à partir de HTML qui référence un fichier CSS et une image stockés dans un dossier assets :

from ironpdf import *

html = """
<html>
   <head>
      <title>Hello world!</title>
      <link rel='stylesheet' href='assets/style.css'>
   </head>
   <body>
      <h1>Hello from IronPDF!</h1>
      <a href="https://ironpdf.com/python/"><img src='assets/logo.png' /></a>
   </body>
</html>
"""

renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
from ironpdf import *

html = """
<html>
   <head>
      <title>Hello world!</title>
      <link rel='stylesheet' href='assets/style.css'>
   </head>
   <body>
      <h1>Hello from IronPDF!</h1>
      <a href="https://ironpdf.com/python/"><img src='assets/logo.png' /></a>
   </body>
</html>
"""

renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
PYTHON
Html To Pdf Html String To Pdf related to 2.4 Créer un PDF à partir d'une Chaîne HTML

la méthode RenderHtmlAsPdf est capable de rendre différents types de contenu HTML. S'il peut être affiché dans Chrome, alors RenderHtmlAsPdf le rendra !

En outre, les développeurs ont la possibilité de fournir un deuxième argument à la méthode RenderHtmlAsPdf, ce qui leur permet de spécifier un chemin d'accès de base pour référencer les ressources web. Ce chemin peut pointer vers un répertoire local du système de fichiers ou même vers un chemin URL.

Pour mieux comprendre comment utiliser la méthode RenderHtmlAsPdf, vous pouvez vous référer à cet exemple de code ou consulter les pages de Référence API pour plus d'informations détaillées.

2.5 Créer un PDF à partir d'une URL

Pour convertir une URL de site Web en documents PDF, les développeurs peuvent utiliser la méthode RenderUrlAsPdf fournie par IronPDF.

Voici un exemple qui illustre la conversion d'un article de Wikipédia en contenu PDF.

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
PYTHON
Html To Pdf 7 related to 2.5 Créer un PDF à partir d'une URL

Pour plus d'informations, vous pouvez consulter un exemple de code démontrant comment convertir une page web en PDF.

2.6 Créer un PDF à partir d'un Fichier HTML

IronPDF offre la capacité de convertir des fichiers HTML en PDF et de les stocker sur un système de fichiers local. Il rend directement le contenu HTML dans son format PDF équivalent.

For a real-world demonstration of this functionality, the following code example showcases the conversion of an invoice HTML file. You can access the HTML markup of the invoice.

Ce balisage HTML est fourni pour votre commodité :

<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>
<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    </address>
    <table class="meta">
        <tr>
            <th><span contenteditable>Invoice #</span></th>
            <td><span contenteditable>101138</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Date</span></th>
            <td><span contenteditable>January 1, 2012</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Due</span></th>
            <td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
        </tr>
    </table>
    <table class="inventory">
        <thead>
        <tr>
            <th><span contenteditable>Item</span></th>
            <th><span contenteditable>Description</span></th>
            <th><span contenteditable>Rate</span></th>
            <th><span contenteditable>Quantity</span></th>
            <th><span contenteditable>Price</span></th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
            <td><span contenteditable>Experience Review</span></td>
            <td><span data-prefix>$</span><span contenteditable>150.00</span></td>
            <td><span contenteditable>4</span></td>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        </tbody>
    </table>
    <a class="add">+</a>
    <table class="balance">
        <tr>
            <th><span contenteditable>Total</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Amount Paid</span></th>
            <td><span data-prefix>$</span><span contenteditable>0.00</span></td>
        </tr>
        <tr>
            <th><span contenteditable>Balance Due</span></th>
            <td><span data-prefix>$</span><span>600.00</span></td>
        </tr>
    </table>
</article>
<aside>
    <h1><span contenteditable>Additional Notes</span></h1>
    <div contenteditable>
        <p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
    </div>
</aside>
</body>
</html>
HTML

Supposons que nous avons un fichier HTML local ainsi que ses fichiers CSS et JavaScript associés enregistrés dans un dossier nommé "invoices", nous pouvons utiliser IronPDF pour convertir le fichier HTML d'exemple en PDF avec le code Python suivant :

from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
PYTHON

Similaire à la conversion de chaînes HTML en PDF, IronPDF résout automatiquement les URLs relatives dans le fichier HTML d'exemple, garantissant que toutes les feuilles de style et scripts référencés sont correctement appliqués au document PDF résultant. Cela garantit que l'apparence visuelle de la page web est capturée avec précision dans le fichier PDF.

3. Lecture complémentaire

Explorez les capacités étendues du rendu HTML en PDF d'IronPDF en plongeant dans notre section Exemples de Code.

  1. Lisez cet exemple de code pour découvrir comment personnaliser l'apparence des documents PDF lors du processus de conversion.
  2. Apprenez à générer des fichiers PDF avec des en-têtes et pieds de page personnalisés, ajuster les tailles de marges et les dimensions de page, ajouter des filigranes, et plus encore.
  3. En outre, explorez des techniques pour extraire du texte, optimiser les tailles de fichier, et imprimer des PDFs de manière programmatique.

Téléchargez le produit logiciel.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en utilisant Python ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en documents PDF en Python. Cette méthode garantit que le HTML, y compris CSS et JavaScript, est rendu avec précision dans un PDF de haute qualité.

Quelle bibliothèque prend en charge la conversion HTML en PDF en Python ?

IronPDF est une bibliothèque puissante qui prend en charge la conversion de HTML en PDF en Python. Elle offre diverses méthodes pour convertir des chaînes HTML, des URL et des fichiers en documents PDF tout en préservant la mise en forme.

Comment installer IronPDF pour la conversion HTML en PDF en Python ?

Pour installer IronPDF pour Python, utilisez la commande pip install ironpdf dans votre terminal. Notez que vous devez avoir le SDK .NET 6.0 installé, car IronPDF en dépend.

Puis-je convertir une URL de page web en PDF en Python ?

Oui, vous pouvez utiliser la méthode RenderUrlAsPdf d'IronPDF pour convertir une URL de page web en un document PDF. Cette fonction vous permet de capturer et de convertir directement le contenu de pages web en direct.

Comment IronPDF gère-t-il les ressources externes lors de la conversion ?

IronPDF peut traiter des fichiers HTML qui incluent des ressources externes comme des images, des feuilles de style et des scripts. Il résout les URL relatives pour s'assurer que ces ressources sont correctement intégrées dans le PDF.

Est-il possible de personnaliser les en-têtes et pieds de page PDF en utilisant Python ?

Oui, IronPDF vous permet d'ajouter des en-têtes et pieds de page personnalisés à vos documents PDF. Cela peut être fait en ajustant les propriétés de PdfDocument pour répondre à vos besoins spécifiques de mise en forme.

Comment puis-je supprimer les filigranes des PDF créés avec IronPDF ?

Pour supprimer les filigranes des PDF générés par IronPDF, vous devez définir une clé de licence valide avant de traiter le PDF. Cela garantit que les PDF sont créés sans aucun filigrane par défaut.

Quelles sont certaines fonctionnalités avancées d'IronPDF pour la conversion HTML en PDF ?

IronPDF offre des fonctionnalités avancées telles que le paramétrage des marges de page personnalisées, l'ajustement des dimensions, l'ajout de filigranes, l'optimisation des tailles de fichiers et l'extraction de texte. Ces fonctionnalités améliorent la flexibilité et l'utilité de la bibliothèque.

Où puis-je trouver des exemples d'utilisation d'IronPDF pour la conversion HTML en PDF ?

Vous pouvez trouver divers exemples et extraits de code détaillés dans la section 'Exemples de Code' sur le site web d'IronPDF, qui fournit des informations sur l'utilisation efficace des fonctionnalités d'IronPDF.

Quelle est la classe principale utilisée dans IronPDF pour le rendu des PDF ?

La classe ChromePdfRenderer est la classe principale utilisée dans IronPDF pour rendre les PDF. Elle fournit des méthodes fiables pour convertir HTML, gérer les ressources externes, et garantir un rendu précis similaire aux navigateurs modernes.

IronPDF est-il compatible avec .NET 10 ?

Oui, IronPDF est entièrement compatible avec .NET 10, tout comme avec les versions précédentes telles que .NET 6, 7, 8 et 9. Il fonctionne immédiatement avec les projets .NET 10, quelle que soit la plateforme (Windows, Linux, etc.), et prend en charge la dernière pile d'API sans aucune manipulation particulière.

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
Prêt à commencer?
Version: 2025.9 vient de sortir