Table des matières
- Bibliothèque de générateur de PDF Python
- Connaissances de base
- Comment créer un PDF avec Python
- Python pour créer des fichiers PDF à partir de zéro
- Python pour générer un PDF à partir d'un fichier texte
- Python pour créer un PDF multi-colonnes
- Licence gratuite pour créer des PDF en Python
- Conclusion
- Voir également
Installer avec Pip
pip install Spire.PDF
Liens connexes
PDF (Portable Document Format) est un format de fichier populaire largement utilisé pour générer des documents juridiques, des contrats, des rapports, des factures, des manuels, des livres électroniques, etc. Il fournit un format polyvalent et fiable pour partager, stocker et présenter des documents électroniques de manière cohérente, indépendamment de tout logiciel, matériel ou système d'exploitation.
Compte tenu de ces avantages, la génération automatisée de documents PDF devient de plus en plus importante dans divers domaines. Pour automatiser le processus de création de PDF en Python, vous pouvez écrire des scripts qui génèrent des PDF en fonction d'exigences spécifiques ou de données d'entrée. Cet article donnera des exemples détaillés pour montrer comment utiliser Python pour créer des fichiers PDF par programmation.
- Comment créer un PDF avec Python
- Python pour créer des fichiers PDF à partir de zéro
- Python pour générer un PDF à partir d'un fichier texte
- Python pour créer un PDF multi-colonnes
Bibliothèque de générateur de PDF Python
Pour générer des PDF à l'aide de Python, nous devrons utiliser la bibliothèque Spire.PDF for Python. Il s'agit d'une puissante bibliothèque Python qui offre des capacités de génération et de traitement de PDF. Avec lui, nous pouvons utiliser Python pour créer des PDF à partir de zéro et ajouter divers éléments PDF aux pages PDF.
Pour installer la bibliothèque du générateur Python PDF, utilisez simplement la commande pip suivante pour l'installer à partir de PyPI:
pip install Spire.PDF
Connaissances de base
Avant de commencer, apprenons quelques informations sur la création d'un fichier PDF à l'aide de la bibliothèque Spire.PDF for Python library.
Page PDF: une page dans Spire.PDF for Python est représentée par la classe PdfPageBase, qui se compose d'une zone client et de marges tout autour. La zone de contenu permet aux utilisateurs d'écrire divers contenus, et les marges sont généralement des bords vierges.
Système de coordonnées: comme le montre la figure ci-dessous, l'origine du système de coordonnées sur la page est située dans le coin supérieur gauche de la zone client, l'axe des x s'étendant horizontalement vers la droite et l'axe des y s'étendant verticalement vers le bas. Tous les éléments ajoutés à la zone client sont basés sur les coordonnées X et Y spécifiées.
Classes et méthodes: le tableau suivant répertorie certaines des classes et méthodes de base utilisées pour créer des PDF en Python.
Membre | Description |
Classe PDFDocument | Représente un modèle de document PDF. |
Classe PDFPageBase | Représente une page dans un document PDF. |
Classe PDFSolidBrush | Représente un pinceau qui remplit n’importe quel objet avec une couleur unie. |
Classe PDFTrueTypeFont | Représente une police True Type. |
Classe PDFStringFormat | Représente les informations de format de texte, telles que l'alignement, l'espacement des caractères et le retrait. |
Classe PDFTextWidget | Représente la zone de texte avec la possibilité de s'étendre sur plusieurs pages. |
Classe PdfTextLayout | Représente les informations de mise en page du texte. |
Méthode PdfDocument.Pages.Add() | Ajoute une page à un document PDF. |
Méthode PdfPageBase.Canvas.DrawString() | Dessine une chaîne à l’emplacement spécifié sur une page avec les objets de police et de pinceau spécifiés. |
Méthode PdfPageBase.Canvas.DrawImage() | Dessine une image à un emplacement spécifié sur une page. |
Méthode PdfTextWidget.Draw() | Dessine le widget de texte à l'emplacement spécifié sur une page. |
Méthode PdfDocument.SaveToFile() | Enregistre le document dans un fichier PDF. |
Comment créer un PDF avec Python
Voici les principales étapes de création de fichiers PDF en Python :
- Installez Spire.PDF for Python.
- Importer des modules.
- Créez un document PDF via la classe PdfDocument.
- Ajoutez une page au PDF à l'aide de la méthode PdfDocument.Pages.Add() et renvoyez un objet de la classe PdfPageBase.
- Créez le pinceau et la police PDF souhaités.
- Dessinez une chaîne de texte ou un widget de texte à une coordonnée spécifiée sur la page PDF à l'aide de la méthode PdfPageBase.Canvas.DrawString() ou PdfTextWidget.Draw().
- Enregistrez le document PDF à l'aide de la méthode PdfDocument.SaveToFile().
Python pour créer des fichiers PDF à partir de zéro
L'exemple de code suivant montre comment utiliser Python pour créer un fichier PDF et insérer du texte et des images. Avec Spire.PDF for Python, vous pouvez également insérer d'autres éléments PDF tels que listes, hyperliens, formulaires et tampons.
- Python
from spire.pdf.common import * from spire.pdf import * # Create a pdf document pdf = PdfDocument() # Add a page to the PDF page = pdf.Pages.Add() # Specify title text and paragraph content titleText = "Spire.PDF for Python" paraText = "Spire.PDF for Python is a professional PDF development component that enables developers to create, read, edit, convert, and save PDF files in Python programs without depending on any external applications or libraries. This Python PDF class library provides developers with various functions to create PDF files from scratch or process existing PDF documents completely through Python programs." # Create solid brushes titleBrush = PdfSolidBrush(PdfRGBColor(Color.get_Blue())) paraBrush = PdfSolidBrush(PdfRGBColor(Color.get_Black())) # Create fonts titleFont = PdfFont(PdfFontFamily.Helvetica, 14.0, PdfFontStyle.Bold) paraFont = PdfTrueTypeFont("Arial", 12.0, PdfFontStyle.Regular, True) # Set the text alignment textAlignment = PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle) # Draw title on the page page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 40.0, textAlignment) # Create a PdfTextWidget object to hold the paragraph content textWidget = PdfTextWidget(paraText, paraFont, paraBrush) # Create a rectangle where the paragraph content will be placed rect = RectangleF(PointF(0.0, 50.0), page.Canvas.ClientSize) # Set the text layout textLayout = PdfTextLayout() textLayout.Layout = PdfLayoutType.Paginate # Draw the widget on the page textWidget.Draw(page, rect, textLayout) # Load an image image = PdfImage.FromFile("Python.png") # Draw the image at a specified location on the page page.Canvas.DrawImage(image, 12.0, 130.0) #Save the PDF document pdf.SaveToFile("CreatePDF.pdf") pdf.Close()
Python pour générer un PDF à partir d'un fichier texte
L'exemple de code suivant montre le processus de lecture du texte d'un fichier .txt et de son dessin vers un emplacement spécifié sur une page PDF.
- Python
from spire.pdf.common import * from spire.pdf import * def ReadFromTxt(fname: str) -> str: with open(fname, 'r') as f: text = f.read() return text # Create a pdf document pdf = PdfDocument() # Add a page to the PDF page = pdf.Pages.Add(PdfPageSize.A4(), PdfMargins(20.0, 20.0)) # Create a PdfFont and brush font = PdfFont(PdfFontFamily.TimesRoman, 12.0) brush = PdfBrushes.get_Black() # Get content from a .txt file text = ReadFromTxt("text.txt") # Create a PdfTextWidget object to hold the text content textWidget = PdfTextWidget(text, font, brush) # Create a rectangle where the text content will be placed rect = RectangleF(PointF(0.0, 50.0), page.Canvas.ClientSize) # Set the text layout textLayout = PdfTextLayout() textLayout.Layout = PdfLayoutType.Paginate # Draw the widget on the page textWidget.Draw(page, rect, textLayout) # Save the generated PDF file pdf.SaveToFile("GeneratePdfFromText.pdf", FileFormat.PDF) pdf.Close()
Python pour créer un PDF multi-colonnes
Les PDF multicolonnes sont couramment utilisés dans les magazines ou les journaux. L'exemple de code suivant montre le processus de création d'un PDF à deux colonnes en dessinant du texte dans deux zones rectangulaires distinctes sur une page PDF.
- Python
from spire.pdf.common import * from spire.pdf import * # Creates a PDF document pdf = PdfDocument() # Add a page to the PDF page = pdf.Pages.Add() # Define paragraph text s1 = "Databases allow access to various services which, in turn, allow you to access your accounts and perform transactions all across the internet. " + "For example, your bank's login page will ping a database to figure out if you've entered the right password and username. " + "Your favorite online shop pings your credit card's database to pull down the funds needed to buy that item you've been eyeing." s2 = "Databases make research and data analysis much easier because they are highly structured storage areas of data and information. " + "This means businesses and organizations can easily analyze databases once they know how a database is structured. " + "Common structures and common database querying languages (e.g., SQL) make database analysis easy and efficient." # Get width and height of page pageWidth = page.GetClientSize().Width pageHeight = page.GetClientSize().Height # Create a PDF font and brush font = PdfFont(PdfFontFamily.TimesRoman, 12.0) brush = PdfBrushes.get_Black() # Set the text alignment format = PdfStringFormat(PdfTextAlignment.Left) # Draws text at a specified location on the page page.Canvas.DrawString(s1, font, brush, RectangleF(10.0, 20.0, pageWidth / 2 - 8, pageHeight), format) page.Canvas.DrawString(s2, font, brush, RectangleF(pageWidth / 2 + 8, 20.0, pageWidth / 2 - 8, pageHeight), format) # Save the PDF document pdf.SaveToFile("CreateTwoColumnPDF.pdf") pdf.Close()
Licence gratuite pour créer des PDF en Python
Tu peux obtenez une licence temporaire gratuite de Spire.PDF for Python pour générer des documents PDF sans filigranes ni limitations.
Conclusion
Cet article de blog fournit un guide étape par étape sur la façon de créer des fichiers PDF basés sur le système de coordonnées défini dans la bibliothèque Spire.PDF for Python. Dans les exemples de code, vous pouvez en apprendre davantage sur le processus et les méthodes d'insertion de texte, d'images dans des PDF et de conversion de fichiers TXT en PDF. Si vous souhaitez explorer d'autres fonctionnalités de traitement et de conversion PDF de la bibliothèque Python PDF, vous pouvez consulter son documentation en ligne.
Pour tout problème d'utilisation, contactez notre équipe d'assistance technique via e-mail ou forum.