Inhaltsverzeichnis
- Python PDF Generator-Bibliothek
- Hintergrundwissen
- So erstellen Sie PDFs mit Python
- Python zum Erstellen von PDF-Dateien von Grund auf
- Python zum Generieren von PDF aus einer Textdatei
- Python zum Erstellen eines mehrspaltigen PDF
- Kostenlose Lizenz zum Erstellen von PDFs in Python
- Abschluss
- Siehe auch
Mit Pip installieren
pip install Spire.PDF
verwandte Links
PDF (Portable Document Format) ist ein beliebtes Dateiformat, das häufig zum Erstellen von Rechtsdokumenten, Verträgen, Berichten, Rechnungen, Handbüchern, E-Books und mehr verwendet wird. Es bietet ein vielseitiges und zuverlässiges Format zum einheitlichen Teilen, Speichern und Präsentieren elektronischer Dokumente, unabhängig von Software, Hardware oder Betriebssystemen.
Aufgrund dieser Vorteile gewinnt die automatisierte Generierung von PDF-Dokumenten in verschiedenen Bereichen zunehmend an Bedeutung. Um den PDF-Erstellungsprozess in Python zu automatisieren, können Sie Skripte schreiben, die PDFs basierend auf bestimmten Anforderungen oder Eingabedaten generieren. Dieser Artikel enthält detaillierte Beispiele, um die Verwendung zu veranschaulichen Python zum Erstellen von PDF-Dateien programmatisch.
- So erstellen Sie PDFs mit Python
- Python zum Erstellen von PDF-Dateien von Grund auf
- Python zum Generieren von PDF aus einer Textdatei
- Python zum Erstellen eines mehrspaltigen PDF
Python PDF Generator-Bibliothek
Um PDFs mit Python zu generieren, müssen wir die Spire.PDF for Python-Bibliothek verwenden. Es handelt sich um eine leistungsstarke Python-Bibliothek, die Funktionen zur PDF-Generierung und -Verarbeitung bietet. Damit können wir mit Python PDFs von Grund auf erstellen und verschiedene PDF-Elemente zu PDF-Seiten hinzufügen.
Um die Python-PDF-Generator-Bibliothek zu installieren, verwenden Sie einfach den folgenden pip-Befehl zur Installation von PyPI:
pip install Spire.PDF
Hintergrundwissen
Bevor wir beginnen, lernen wir einige Hintergrundinformationen zum Erstellen einer PDF-Datei mit der Bibliothek Spire.PDF for Python kennen.
PDF-Seite: Eine Seite in Spire.PDF for Python wird durch die Klasse PdfPageBase dargestellt, die aus einem Clientbereich und Rändern rundherum besteht. Der Inhaltsbereich dient dem Benutzer zum Schreiben verschiedener Inhalte, und die Ränder sind normalerweise leere Kanten.
Koordinatensystem: Wie in der Abbildung unten dargestellt, befindet sich der Ursprung des Koordinatensystems auf der Seite in der oberen linken Ecke des Clientbereichs, wobei die x-Achse horizontal nach rechts und die y-Achse vertikal nach unten verläuft. Alle zum Clientbereich hinzugefügten Elemente basieren auf den angegebenen X- und Y-Koordinaten.
Klassen und Methoden: Die folgende Tabelle listet einige der Kernklassen und Methoden auf, die zum Erstellen von PDFs in Python verwendet werden.
Mitglied | Beschreibung |
PDFDocument-Klasse | Stellt ein PDF-Dokumentmodell dar. |
PDFPageBase-Klasse | Stellt eine Seite in einem PDF-Dokument dar. |
PdfSolidBrush-Klasse | Stellt einen Pinsel dar, der jedes Objekt mit einer Volltonfarbe füllt. |
PdfTrueTypeFont-Klasse | Stellt eine True-Type-Schriftart dar. |
PdfStringFormat-Klasse | Stellt Informationen zum Textformat dar, z. B. Ausrichtung, Zeichenabstand und Einzug. |
PDFTextWidget-Klasse | Stellt den Textbereich dar, der sich über mehrere Seiten erstrecken kann. |
PDFTextLayout-Klasse | Stellt die Textlayoutinformationen dar. |
PdfDocument.Pages.Add()-Methode | Fügt eine Seite zu einem PDF-Dokument hinzu. |
PdfPageBase.Canvas.DrawString()-Methode | Zeichnet eine Zeichenfolge an der angegebenen Stelle auf einer Seite mit angegebenen Schriftart- und Pinselobjekten. |
PdfPageBase.Canvas.DrawImage()-Methode | Zeichnet ein Bild an einer angegebenen Stelle auf einer Seite. |
PDFTextWidget.Draw()-Methode | Zeichnet das Text-Widget an der angegebenen Stelle auf einer Seite. |
PdfDocument.SaveToFile()-Methode | Speichert das Dokument in einer PDF-Datei. |
So erstellen Sie PDFs mit Python
Im Folgenden sind die Hauptschritte zum Erstellen von PDF-Dateien in Python aufgeführt:
- Installieren Sie Spire.PDF for Python.
- Module importieren.
- Erstellen Sie ein PDF-Dokument über die PdfDocument-Klasse.
- Fügen Sie mit der Methode PdfDocument.Pages.Add() eine Seite zum PDF hinzu und geben Sie ein Objekt der Klasse PdfPageBase zurück.
- Erstellen Sie den gewünschten PDF-Pinsel und die gewünschte Schriftart.
- Zeichnen Sie eine Textzeichenfolge oder ein Text-Widget an einer angegebenen Koordinate auf der PDF-Seite mit der Methode PdfPageBase.Canvas.DrawString() oder PdfTextWidget.Draw().
- Speichern Sie das PDF-Dokument mit der Methode PdfDocument.SaveToFile().
Python zum Erstellen von PDF-Dateien von Grund auf
Das folgende Codebeispiel zeigt, wie Sie mit Python eine PDF-Datei erstellen und Text und Bilder einfügen. Mit Spire.PDF for Python können Sie auch andere PDF-Elemente einfügen, z Listen, Hyperlinks, Formulare und Stempel.
- 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 zum Generieren von PDF aus einer Textdatei
Das folgende Codebeispiel zeigt den Prozess des Lesens von Text aus einer TXT-Datei und dessen Zeichnen an einer bestimmten Stelle auf einer PDF-Seite.
- 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 zum Erstellen eines mehrspaltigen PDF
Mehrspaltige PDFs werden häufig in Zeitschriften oder Zeitungen verwendet. Das folgende Codebeispiel zeigt den Prozess der Erstellung einer zweispaltigen PDF-Datei durch Zeichnen von Text in zwei separaten rechteckigen Bereichen auf einer PDF-Seite.
- 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()
Kostenlose Lizenz zum Erstellen von PDFs in Python
Du kannst Holen Sie sich eine kostenlose temporäre Lizenz von Spire.PDF for Python zum Generieren von PDF-Dokumenten ohne Wasserzeichen und Einschränkungen.
Abschluss
In diesem Blogbeitrag finden Sie eine Schritt-für-Schritt-Anleitung zum Erstellen von PDF-Dateien basierend auf dem in der Spire.PDF for Python-Bibliothek definierten Koordinatensystem. In den Codebeispielen erfahren Sie mehr über den Prozess und die Methoden zum Einfügen von Text und Bildern in PDFs und zum Konvertieren von TXT-Dateien in PDFs. Wenn Sie andere PDF-Verarbeitungs- und Konvertierungsfunktionen der Python PDF-Bibliothek erkunden möchten, können Sie sich diese ansehen Online-Dokumentation.
Bei Problemen während der Nutzung wenden Sie sich bitte per E-Mail oder Forum an unser technisches Support-Team. E-Mail oder Forum.