Comment créer des fichiers PDF en Python
Créez des fichiers PDF en Python en using IronPDF en convertissant des chaînes HTML, des fichiers HTML ou des URLs en documents PDF avec seulement quelques lignes de code. IronPDF gère automatiquement les fonctions de rendu, de formatage et de sécurité.
Démarrage rapide : Créez un PDF en Python
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/quickstart.py
# 1. Install IronPDF: pip install ironpdf
# 2. Import the library
from ironpdf import *
# 3. Create renderer
renderer = ChromePdfRenderer()
# 4. Convert HTML to PDF
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
# 5. Save the PDF
pdf.SaveAs("output.pdf")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
# 1. Install IronPDF: pip install ironpdf
# 2. Import the library
from ironpdf import *
# 3. Create renderer
renderer = ChromePdfRenderer()
# 4. Convert HTML to PDF
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
# 5. Save the PDF
pdf.SaveAs("output.pdf")
Comment créer un fichier PDF en Python
- Installez la bibliothèque IronPDF for Python
- Utilisez la méthode
RenderHtmlAsPdfpour convertir une chaîne HTML en document PDF - Utilisez la méthode
RenderHtmlFileAsPdfpour générer un fichier PDF à partir d'un fichier HTML local - Utilisez la méthode
RenderUrlAsPdfpour créer un PDF à partir de l'URL d'une page web - Appliquez une protection par mot de passe et enregistrez le PDF dans le répertoire souhaité
L'automatisation de la création de PDFs en Python permet aux développeurs de générer des documents par programmation : factures, rapports, contrats, et certificats, sans quitter l'application. Traditionnellement, cela nécessitait de jongler avec les moteurs de mise en page et les spécifications de format, mais l'approche HTML-first d'IronPDF signifie que tout document HTML/CSS devient un PDF précis au pixel près en un seul appel de méthode.
Ce guide pratique couvre les quatre principaux flux de travail de création de PDF dans IronPDF for Python : conversion d'une chaîne HTML, conversion d'un fichier HTML local, conversion d'une URL, et application d'une protection par mot de passe avant l'exportation.
Quelle bibliothèque Python devrais-je utiliser pour créer des PDFs ?
IronPDF est une bibliothèque Python spécialement conçue pour créer des documents PDF à partir de HTML. Son API est simple : transmettez du balisage HTML (ou un chemin d'accès à un fichier, ou une URL) et recevez un objet PdfDocument que vous pouvez économiser, estampiller, fusionner ou chiffrer.
La bibliothèque enveloppe le moteur de rendu éprouvé d'IronPDF for .NET, le même moteur utilisé dans les projets .NET, Java, et Node.js, donc la sortie HTML-vers-PDF est cohérente entre les plateformes. Elle prend en charge les normes web modernes, y compris l'exécution de JavaScript, le CSS3, les polices web et les mises en page responsives.
Au-delà de la génération de PDF, IronPDF couvre tout le cycle de vie du PDF :
- Extraction de texte et de données des PDFs existants
- Conversion de format de fichier (HTML, DOCX, images vers PDF)
- Fusionner plusieurs PDFs
- Compresser des fichiers PDF
- Chiffrement par mot de passe et gestion des droits numériques
- Remplir des formulaires PDF par programmation
Quelles sont les conditions préalables avant de créer des PDFs ?
Pour utiliser IronPDF for Python, le logiciel suivant doit être installé :
.NET 6.0 SDK: IronPDF for Python s'exécute par-dessus la bibliothèque IronPDF .NET. Téléchargez-le sur la page de téléchargement officielle de Microsoft .NET 6.0.Python 3.x: Téléchargez et installez Python depuis le site web officiel de Python. Sélectionnez l'option permettant d'ajouter Python au PATH lors de l'installation.pip: Fourni avec Python 3.4+. Vérifiez l'installation en exécutantpip --versiondans votre terminal.IronPDF: Installez la bibliothèque à l'aide de pip :
pip install ironpdf
pip3 au lieu de pip pour installer le paquet Python 3. Si vous rencontrez des erreurs lors de l'installation, consultez notre guide de dépannage pour les problèmes OSError.Quelle configuration de code est nécessaire avant de créer des PDF ?
Ajoutez l'instruction d'importation suivante au début de votre script Python :
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/import.py
# Import statement for IronPDF for Python
from ironpdf import *
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
# Import statement for IronPDF for Python
from ironpdf import *
Avant tout autre appel IronPDF, configurez une clé de licence valide en l'attribuant à l'attribut LicenseKey de License. Cela supprime le filigrane d'essai des PDFs générés. Pour des instructions détaillées sur la mise en œuvre des clés de licence, visitez le guide de configuration de la clé de licence.
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/license.py
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Comment convertir une chaîne HTML en document PDF ?
La méthode RenderHtmlAsPdf convertit une chaîne HTML directement en un objet PdfDocument. Passez tout balisage HTML valide en tant qu'argument de la méthode et IronPDF le rend en utilisant son moteur Chromium intégré, exécutant JavaScript et appliquant le CSS avant de produire le PDF.
Cette approche est la plus flexible pour le contenu généré dynamiquement : construisez la chaîne HTML en Python (en utilisant des moteurs de template comme Jinja2 ou un formatage de chaîne simple), puis passez-la directement au moteur de rendu. Générer une facture, par exemple, signifie remplir un modèle HTML avec les données de la commande et appeler RenderHtmlAsPdf en une seule étape.
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/html-string-to-pdf.py
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the Chromium renderer
renderer = ChromePdfRenderer()
# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the Chromium renderer
renderer = ChromePdfRenderer()
# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
Comment sauvegarder le PDF généré?
Une fois la chaîne HTML convertie en une instance PdfDocument, appelez SaveAs avec un chemin d'accès au fichier cible :
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/save-html-string.py
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
Le fichier htmlstring_to_pdf.pdf est écrit dans le répertoire de travail actuel, en conservant le contenu HTML avec la mise en forme CSS complète. Pour des techniques de rendu HTML avancées, y compris les frameworks CSS, les frameworks JavaScript et les mises en page complexes, consultez le tutoriel HTML vers PDF for Python.
Comment générer un PDF à partir d'un fichier HTML local ?
Lorsque le contenu HTML se trouve dans un fichier du système de fichiers local, RenderHtmlFileAsPdf est la méthode appropriée. Fournissez le chemin du fichier en tant qu'argument :
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/html-file-to-pdf.py
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Create a PDF from a local HTML file
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Save the output PDF
pdf.SaveAs("htmlfile_to_pdf.pdf")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Create a PDF from a local HTML file
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Save the output PDF
pdf.SaveAs("htmlfile_to_pdf.pdf")
IronPDF résout les chemins relatifs pour les fichiers CSS liés, les images, et les scripts relatifs à l'emplacement du fichier HTML. Le moteur de rendu charge tous les actifs associés avant de générer le PDF, de sorte que le résultat correspond à ce qu'un navigateur afficherait. Cela en fait une option fiable pour les documents modèles où le HTML et les actifs sont maintenus en tant que fichiers sur disque.
Comment créer un PDF à partir d'une URL en Python ?
Utilisez RenderUrlAsPdf pour convertir une page web en ligne au format PDF. Fournissez l'URL complète en tant qu'argument :
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/url-to-pdf.py
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Convert a web page to PDF
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Save the output PDF
pdf.SaveAs("url.pdf")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
from ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Convert a web page to PDF
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Save the output PDF
pdf.SaveAs("url.pdf")
La fonction de rendu d'URL prend en charge les technologies web modernes y compris le contenu JavaScript dynamique, les appels AJAX, et les mises en page responsives. IronPDF attend que la page soit entièrement chargée, y compris l'exécution de JavaScript, avant de capturer le PDF, afin que tout le contenu dynamique soit capturé avec précision.
Où puis-je trouver d'autres exemples de conversion d'URL?
Des exemples supplémentaires pour convertir des pages web en PDFs sont disponibles sur la page exemple de code URL vers PDF. Pour les pages web nécessitant une authentification, consultez le guide sur les connexions de sites web et systèmes.
Comment puis-je personnaliser les options de formatage des PDF ?
La propriété RenderingOptions de ChromePdfRenderer contrôle la mise en forme et la présentation du PDF de sortie. Les réglages communs incluent la taille de la page, l'orientation de la page, la taille des marges, et le niveau de zoom.
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/rendering-options.py
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
# Configure rendering options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25
# Render with custom formatting
pdf = renderer.RenderHtmlAsPdf("<h1>Custom Formatted PDF</h1><p>Content here.</p>")
pdf.SaveAs("formatted.pdf")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
# Configure rendering options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25
# Render with custom formatting
pdf = renderer.RenderHtmlAsPdf("<h1>Custom Formatted PDF</h1><p>Content here.</p>")
pdf.SaveAs("formatted.pdf")
Quels sont les paramètres de mise en forme disponibles ?
La propriété RenderingOptions permet de définir les paramètres relatifs au format du papier, à l'orientation de la page, aux marges et au Zoom. Le tableau ci-dessous répertorie les propriétés les plus couramment utilisées :
| Propriété | Type de texte | Description du projet |
|---|---|---|
Taille du papier |
PdfPaperSize |
Tailles de page standard (A4, Lettre, Légal) ou tailles personnalisées |
Orientation du papier |
PdfPaperOrientation |
Orientation de page Portrait ou Paysage |
MarginTop / MarginBottom |
int (mm) |
Marges de page supérieure et inférieure en millimètres |
MarginLeft / MarginRight |
int (mm) |
Marges de page gauche et droite en millimètres |
HtmlHeader / HtmlFooter |
HtmlHeaderFooter |
En-têtes et pieds de page HTML avec prise en charge de numéros de page |
Pour une référence complète avec des réglages supplémentaires, consultez l'exemple de code des paramètres de génération de PDF.
HtmlHeader et HtmlFooter sur RenderingOptions. L'exemple d'en-têtes et pieds de page démontre la syntaxe complète.Comment sécuriser les fichiers PDF avec des mots de passe ?
Pour protéger un PDF par un mot de passe, définissez la propriété UserPassword sur l'attribut SecuritySettings de l'objet PdfDocument. Un mot de passe propriétaire peut aussi être défini pour restreindre les permissions d'édition séparément de l'accès en lecture.
Envisagez de protéger le PDF créé dans l'exemple d'URL :
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/password-protect.py
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Set user password (required to open the PDF)
pdf.SecuritySettings.UserPassword = "sharable"
# Set owner password (controls permissions)
pdf.SecuritySettings.OwnerPassword = "admin123"
# Configure document permissions
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
from ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Set user password (required to open the PDF)
pdf.SecuritySettings.UserPassword = "sharable"
# Set owner password (controls permissions)
pdf.SecuritySettings.OwnerPassword = "admin123"
# Configure document permissions
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
Comment fonctionne la protection par mot de passe dans la pratique ?
L'ouverture de protected.pdf dans n'importe quel lecteur de PDF demande le mot de passe utilisateur avant d'afficher le contenu du document. Le mot de passe propriétaire donne un accès administratif pour modifier les paramètres de sécurité. La configuration de AllowUserCopyPasteContent = False empêche les lecteurs de copier du texte à partir du PDF tout en autorisant l'impression.
Pour un contrôle accru sur les permissions de document, consultez l'exemple des paramètres de sécurité et de métadonnées et le guide de chiffrement et de déchiffrement de PDF.
Qu'est-ce que le code source complet ?
L'exemple combiné ci-dessous démontre les quatre flux de travail de création de PDFs en un seul script Python :
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/complete-example.py
from ironpdf import *
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# --- HTML string to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
pdf.SaveAs("htmlstring_to_pdf.pdf")
# --- Local HTML file to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("htmlfile_to_pdf.pdf")
# --- URL to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
pdf.SaveAs("url.pdf")
# --- Password-protected PDF ---
pdf.SecuritySettings.UserPassword = "sharable"
pdf.SecuritySettings.OwnerPassword = "admin123"
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
// CET EXTRAIT DE CODE N'EST PAS DISPONIBLE !
from ironpdf import *
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# --- HTML string to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
pdf.SaveAs("htmlstring_to_pdf.pdf")
# --- Local HTML file to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("htmlfile_to_pdf.pdf")
# --- URL to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
pdf.SaveAs("url.pdf")
# --- Password-protected PDF ---
pdf.SecuritySettings.UserPassword = "sharable"
pdf.SecuritySettings.OwnerPassword = "admin123"
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
IronPDF rend toutes les images et le texte avec précision tout en préservant la mise en forme. Les éléments interactifs tels que les boutons restent fonctionnels, et les champs de texte conservent leur caractère éditable dans le PDF généré.
Quelles sont les prochaines étapes pour créer des PDFs en Python ?
Ce guide a couvert les trois méthodes principales de création de PDF dans IronPDF for Python — chaîne HTML, fichier HTML local, et URL — ainsi que la protection par mot de passe pour sécuriser les fichiers de sortie. Chaque méthode produit un objet PdfDocument qui peut être traité ultérieurement : estampillé, fusionné, divisé ou chiffré avant d'être enregistré.
Prêt à étendre ces flux de travail ? Les ressources suivantes illustrent les prochaines étapes pratiques :
- Tutoriel HTML vers PDF for Python — rendu avancé avec des frameworks CSS et JavaScript
- Fusionner des PDF en Python — combiner plusieurs documents en un seul fichier
- Compresser des PDF en Python — réduire la taille des fichiers pour le stockage et l'email
- Remplir des formulaires PDF en Python — remplir les champs de formulaires PDF existants
IronPDF nécessite une licence valide pour une utilisation en production. La licence commence à partir de $999. Start a free 30-day trial to evaluate the library without restrictions, or view licensing options for the full product suite.
Questions Fréquemment Posées
Comment installer IronPDF for Python ?
Exécutez pip install ironpdf dans votre terminal. Vous devez également avoir Python 3.x et le SDK .NET 6.0 installés, car IronPDF for Python fonctionne sur le moteur IronPDF .NET.
Quel est le moyen le plus simple de convertir HTML en PDF en Python ?
Créez une instance ChromePdfRenderer, puis appelez renderer.RenderHtmlAsPdf('. La méthode accepte toute chaîne HTML valide et retourne un objet Bonjour
')PdfDocument que vous pouvez sauvegarder avec pdf.SaveAs('output.pdf').
Puis-je générer un PDF à partir d'un fichier HTML local ?
Oui. Utilisez renderer.RenderHtmlFileAsPdf('chemin/vers/fichier.html'). IronPDF résout le CSS, les images et les scripts liés relativement à l'emplacement du fichier HTML avant le rendu.
Comment puis-je convertir une URL de page web en direct en PDF ?
Appelez renderer.RenderUrlAsPdf('https://exemple.com'). IronPDF attend le chargement complet de la page, y compris l'exécution de JavaScript, avant de capturer le PDF.
Comment puis-je protéger par mot de passe un PDF généré ?
Définissez pdf.SecuritySettings.UserPassword pour exiger un mot de passe pour ouvrir le fichier, et pdf.SecuritySettings.OwnerPassword pour restreindre les permissions d'édition. Appelez ensuite pdf.SaveAs pour écrire le fichier protégé.
Puis-je contrôler la taille de page et les marges des PDF générés ?
Oui. Configurez renderer.RenderingOptions.PaperSize (par exemple PdfPaperSize.A4) et définissez MarginTop, MarginBottom, MarginLeft et MarginRight en millimètres avant d'appeler une méthode de rendu.
IronPDF prend-il en charge l'exécution de JavaScript dans la conversion HTML en PDF ?
Oui. IronPDF utilise un moteur de rendu basé sur Chromium qui exécute JavaScript, traite les appels AJAX, et applique le CSS avant de générer le PDF, donc le contenu dynamique est capturé avec précision.
Puis-je fusionner ou compresser des PDF après les avoir créés ?
Oui. IronPDF fournit des méthodes séparées pour fusionner plusieurs objets PdfDocument en un seul fichier et pour compresser des PDFs existants afin de réduire la taille du fichier. Les deux opérations fonctionnent sur l'objet PdfDocument retourné par n'importe quelle méthode de rendu.

