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")
PDF (EN ANGLAIS)(Format de document portable) est le format de fichier numérique le plus populaire pour l'envoi et la réception de données en ligne. Il est principalement utilisé pour préserver le formatage des données et les sécuriser à l'aide d'un mot de passe crypté. L'extension .pdf est indépendante de l'application logicielle, du matériel ou du système d'exploitation.
Dans cet article, nous allons créer un fichier PDF dans le langage de programmation Python. Il existe un tas d'options en ligne, mais nous utiliserons ici une bibliothèque Python pour créer des fichiers PDF. Voici les deux bibliothèques les plus connues pour générer des documents PDF avec une ou plusieurs pages en Python :
Reportlab
PDFKit
À partir des bibliothèques Python PDF mentionnées ci-dessus, nous pouvons utiliser n'importe qui pour générer des PDF.
Comment créer un fichier PDF en Python ?
Examinons les deux bibliothèques l'une après l'autre.
Création de fichiers PDF à l'aide de la bibliothèque Reportlab
Reportlab est une boîte à outils PDF gratuite et open source qui peut être utilisée pour créer facilement des fichiers PDF. Il fournit un ensemble d'outils de dessin permettant d'ajouter des images et du texte à un endroit précis dans plusieurs pages. Vous pouvez également créer des fichiers PDF cryptés en utilisant la méthode encryptCanvas.
Installation
Pour installer Reportlab, le gestionnaire de paquets pip est nécessaire. Il télécharge et installe automatiquement le paquet request à l'aide de la commande pip. Il suffit de taper la commande suivante dans windows cmd ou PowerShell :
pip3 install reportlab
Note: Lors de l'installation de Python, il faut l'ajouter à la variable d'environnement path afin d'exécuter la commande ci-dessus à partir de n'importe quel endroit dans cmd ou PowerShell. Il est recommandé d'utiliser Pip3 pour Python 3+, car il s'agit de la version la plus récente.
Ouvrir un nouveau fichier Python
Pour utiliser la bibliothèque Reportlab, nous devons écrire le code dans un fichier Python et l'exécuter pour créer des fichiers PDF.
Recherchez et ouvrez le shell IDLE par défaut de Python dans la barre de recherche de Windows et appuyez sur Ctrl + N ou sélectionnez "Nouveau fichier" dans l'onglet Fichier. Cela ouvrira l'éditeur de texte pour écrire le code.
Ensuite, enregistrez le fichier sous le nom approprié. Je l'ai nommé "createpdf.py ". Le fichier se présente comme suit :
Code Python pour la lecture et l'extraction de texte
Le code suivant dessine les éléments du document et génère un PDF en quelques secondes :
# importing modules
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib import colors
# initializing variables with values
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
# creating a pdf object
pdf = canvas.Canvas(fileName)
# setting the title of the document
pdf.setTitle(documentTitle)
# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)
# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
# saving the pdf
pdf.save()
# importing modules
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib import colors
# initializing variables with values
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
# creating a pdf object
pdf = canvas.Canvas(fileName)
# setting the title of the document
pdf.setTitle(documentTitle)
# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)
# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
# saving the pdf
pdf.save()
PYTHON
La sortie PDF générée est la suivante :
EXPLICATION DU CODE
Après avoir importé tous les modules et paquets, nous avons d'abord initialisé tout le contenu qui sera écrit dans un fichier PDF.
Nous définissons maintenant le nom du canevas, le titre du document, un titre centré et un sous-titre avec les polices et la taille appropriées.
# creating a pdf object
pdf = canvas.Canvas(fileName)
# setting the title of the document
pdf.setTitle(documentTitle)
# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)
# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
# creating a pdf object
pdf = canvas.Canvas(fileName)
# setting the title of the document
pdf.setTitle(documentTitle)
# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)
# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
PYTHON
Enfin, nous enregistrons le fichier PDF lorsque tout est dessiné sur le canevas.
# saving the pdf
pdf.save()
# saving the pdf
pdf.save()
PYTHON
Nous pouvons également utiliser les méthodes drawString et drawText pour créer un simple fichier PDF en utilisant Reportlab en Python.
Créer des fichiers PDF à l'aide de la bibliothèque PDFKit
PDFKit est l'une des meilleures approches pour créer des fichiers PDF en Python. Il peut créer des fichiers PDF en utilisant du code HTML. Vous pouvez rendre des fichiers HTML simples et complexes ou du HTML provenant d'URL en une page PDF imprimable au pixel près. Cependant, PDFKit intègre les fonctionnalités de wkhtmltopdf pour convertir HTML en PDF. Pour installer wkhtmltopdf pour Windows, Linux et mac, visitez cette pagelien.
Note: Sous Windows OS, wkhtmltopdf sera installé dans les fichiers de programme.
Installation
Utilisez la commande suivante pour installer PDFKit :
pip3 install pdfkit
Création de fichiers PDF à partir d'une URL
La création de fichiers PDF à l'aide de PDFKit est très simple et se fait en une seule ligne.
PDFKit vous permet de créer facilement des PDF en Python à l'aide de modèles HTML.
La bibliothèque IronPDF
IronPDF est un outil utile pourcréer des fichiers PDF dans les projets .NET. Une utilisation courante de cette bibliothèque est le rendu "HTML vers PDF", où HTML est utilisé comme langage de conception pour le rendu d'un document PDF.
IronPDF utilise un moteur .NET Chromium pour convertir les pages HTML en fichiers PDF. Avec la conversion de HTML en PDF, il n'est pas nécessaire d'utiliser des API complexes pour positionner ou concevoir des PDF. IronPDF prend également en charge toutes les technologies de pages web standard : HTML, ASPX, JS, CSS et images.
Il vous permet également de créer une bibliothèque PDF .NET à l'aide de HTML 5, CSS, JavaScript et d'images. Vous pouvez modifier, estampiller et ajouter des en-têtes et des pieds de page à un PDF sans effort. En outre, il facilite la lecture du texte des PDF et l'extraction des images.
Pour commencer à utiliser IronPDF, vous devez installer le paquet NuGet :
pip install ironpdf
L'exemple suivant permet de créer un fichier PDF directement à partir d'une URL :
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")
# 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://ironpdf.com/")
# Export to a file or Stream
pdf.SaveAs("url.pdf")
PYTHON
Le code suivant vous aidera à créer un fichier PDF à partir d'un code HTML accompagné d'un CSS ou d'un JavaScript :
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")
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")
PYTHON
Vous pouvez voir dans le code ci-dessus qu'il est assez simple et propre. Très peu de lignes de code sont nécessaires pour créer un fichier PDF à partir d'un code HTML. Il s'agit d'une solution rapide, fiable, qui permet de gagner du temps et d'obtenir des résultats précis.
Téléchargez IronPDF et essayez-le pourgratuit. Après la période d'essai, la licence commence à $749.
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 utiliser PyCharm (Guide pour les développeurs)
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