Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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.
Examinons les deux bibliothèques l'une après l'autre.
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
.
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.
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 :
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()
La sortie PDF générée est la suivante :
Après avoir importé tous les modules et paquets, nous avons d'abord initialisé tout le contenu qui sera écrit dans un fichier PDF.
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
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)
Enfin, nous enregistrons le fichier PDF lorsque tout est dessiné sur le canevas.
# saving the pdf
pdf.save()
Nous pouvons également utiliser les méthodes drawString
et drawText
pour créer un simple fichier PDF en utilisant Reportlab en Python.
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.
Utilisez la commande suivante pour installer PDFKit :
pip3 install pdfkit
La création de fichiers PDF à l'aide de PDFKit est très simple et se fait en une seule ligne.
import pdfkit
pdfkit.from_url('http://google.com', 'out.pdf')
import pdfkit
pdfkit.from_file('index.html', 'out.pdf')
Vous pouvez transmettre des modèles HTML sous forme de chaîne de caractères pour les convertir en PDF en tant que fichier de sortie.
html_string = """
<html>
<head>
<meta name="pdfkit-page-size" content="Legal"/>
<meta name="pdfkit-orientation" content="Landscape"/>
</head>
Hello World!
</html>
"""
pdfkit.from_string(html_string, 'out.pdf')
PDFKit vous permet de créer facilement des PDF en Python à l'aide de modèles HTML.
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")
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")
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.
9 produits de l'API .NET pour vos documents de bureau