PYTHON PDF-WERKZEUGE

Wie man in Python eine PDF-Datei erstellt

Veröffentlicht 3. Juli 2023
Teilen Sie:

PDF (Portable Document Format) ist das beliebteste digitale Dateiformat für das Senden und Empfangen von Daten im Internet. Es wird hauptsächlich verwendet, um die Datenformatierung zu bewahren und die Daten mit einem verschlüsselten Passwort zu sichern. Die .pdf-Erweiterung ist unabhängig von der Softwareanwendung, der Hardware oder dem Betriebssystem.

In diesem Artikel werden wir eine PDF-Datei in der Programmiersprache Python erstellen. Es gibt eine ganze Reihe von Online-Optionen, aber hier werden wir eine Python-Bibliothek für die Erstellung von PDF-Dateien verwenden. Im Folgenden finden Sie zwei bekannte Bibliotheken, mit denen Sie in Python PDF-Dokumente mit einzelnen oder mehreren Seiten erzeugen können:

  1. Reportlab

  2. PDFKit

    Von den oben erwähnten PDF-Python-Bibliotheken kann jeder für die Erstellung von PDFs verwendet werden.

Wie erstellt man eine PDF-Datei in Python?

Schauen wir uns die beiden Bibliotheken einzeln an.

PDF-Dateien mit der Reportlab-Bibliothek erstellen

Reportlab bibliothek ist ein kostenloses Open-Source-PDF-Toolkit, mit dem sich PDF-Dateien leicht erstellen lassen. Es bietet eine Reihe von Zeichenwerkzeugen zum Hinzufügen von Bildern und Text an einer bestimmten Position auf mehreren Seiten. Sie können auch verschlüsselte PDF-Dateien mit der Methode "encryptCanvas" erstellen.

Einrichtung

Zur Installation von Reportlab wird der Paketmanager pip benötigt. Es lädt automatisch das Anforderungspaket herunter und installiert es mit dem Befehl pip. Geben Sie einfach den folgenden Befehl in Windows cmd oder PowerShell ein:

pip3 install reportlab

Hinweis: Während der Installation von Python muss es zur Umgebungsvariablen path hinzugefügt werden, damit der obige Befehl von einer beliebigen Stelle in cmd oder PowerShell ausgeführt werden kann. Es wird empfohlen, Pip3 für Python 3+ zu verwenden, da es sich um die aktuellste Version handelt.

Eine neue Python-Datei öffnen

Um die Reportlab-Bibliothek zu verwenden, müssen wir den Code in eine Python-Datei schreiben und ihn ausführen, um PDF-Dateien zu erstellen.

  1. Suchen und öffnen Sie die Python-Standardshell IDLE in der Windows-Suchleiste und drücken Sie Strg + N oder wählen Sie "Neue Datei" auf der Registerkarte Datei. Dadurch wird der Texteditor zum Schreiben des Codes geöffnet.

  2. Speichern Sie dann die Datei unter dem entsprechenden Namen. Ich nenne es "createpdf.py ". Die Datei sieht wie folgt aus:

    Wie man in Python eine PDF-Datei erstellt: Abbildung 1

Python-Code zum Lesen und Extrahieren von Text

Der folgende Code zeichnet Dokumentenelemente und erzeugt innerhalb von Sekunden eine PDF-Datei:

# 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

Die generierte PDF-Ausgabe sieht wie folgt aus:

Wie man eine PDF-Datei in Python erstellt: Abbildung 2

CODE-ERKLÄRUNG

Nachdem wir alle Module und Pakete importiert haben, haben wir zunächst alle Inhalte initialisiert, die in eine PDF-Datei geschrieben werden sollen.

fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
PYTHON

Jetzt legen wir den Namen der Leinwand, den Titel des Dokuments, einen zentrierten Titel und einen Untertitel mit entsprechender Schriftart und -größe fest.

# 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

Schließlich speichern wir die PDF-Datei, wenn alles auf der Leinwand gezeichnet ist.

# saving the pdf
pdf.save()
PYTHON

Wir können auch die Methoden drawString und drawText verwenden, um mit Reportlab in Python eine einfache PDF-Datei zu erstellen.

PDF-Dateien mit der PDFKit-Bibliothek erstellen

PDFKit bibliothek ist einer der besten Ansätze, wenn es um die Erstellung von PDF-Dateien in Python geht. Es kann PDF-Dateien mit HTML-Code erstellen. Sie können einfache und komplexe HTML-Dateien oder HTML aus URLs in pixelgenaue, druckbare PDF-Seiten umwandeln. PDFKit integriert jedoch die Funktionen von wkhtmltopdf zur Konvertierung von HTML in PDF. Um wkhtmltopdf für Windows, Linux und Mac zu installieren, besuchen Sie diese Seite link.

Hinweis: Unter Windows wird wkhtmltopdf in den Programmdateien installiert.

Einrichtung

Verwenden Sie den folgenden Befehl, um PDFKit zu installieren:

pip3 install pdfkit

PDF-Dateien aus URL erstellen

Die Erstellung von PDF-Dateien mit PDFKit ist sehr einfach und ein Ein-Zeilen-Prozess.

import pdfkit

pdfkit.from_url('http://google.com', 'out.pdf')
PYTHON

PDF-Dateien aus HTML-Dateien erstellen

import pdfkit

pdfkit.from_file('index.html', 'out.pdf')
PYTHON

PDF-Dateien aus HTML-Vorlagen erstellen

Sie können HTML-Templates als String übergeben, um sie in PDF als Ausgabedatei zu konvertieren.

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')
PYTHON

PDFKit ermöglicht die einfache Erstellung von PDFs in Python unter Verwendung von HTML-Vorlagen.

Die IronPDF-Bibliothek

IronPDF ist ein nützliches Instrument zur pDF-Dateien erstellen in .NET-Projekten. Eine häufige Anwendung dieser Bibliothek ist das "HTML to PDF"-Rendering, bei dem HTML als Designsprache für das Rendering eines PDF-Dokuments verwendet wird.

IronPDF verwendet eine .NET Chromium-Engine, um HTML-Seiten in PDF-Dateien umzuwandeln. Bei der Konvertierung von HTML in PDF müssen Sie keine komplexen APIs verwenden, um PDFs zu positionieren oder zu gestalten. IronPDF unterstützt auch alle Standard-Webseitentechnologien: HTML, ASPX, JS, CSS und Bilder.

Außerdem können Sie damit eine .NET-PDF-Bibliothek mit HTML 5, CSS, JavaScript und Bildern erstellen. Sie können eine PDF-Datei mühelos bearbeiten, stempeln und Kopf- und Fußzeilen hinzufügen. Außerdem ist es sehr einfach, PDF-Text zu lesen und Bilder zu extrahieren.

Um mit IronPDF zu arbeiten, müssen Sie das NuGet-Paket installieren:

 pip installieren ironpdf

Das folgende Beispiel hilft Ihnen, eine PDF-Datei direkt aus einer URL zu erstellen:

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

Der folgende Code hilft Ihnen bei der Erstellung von PDF-Dateien aus HTML-Code zusammen mit CSS oder 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")
PYTHON

Wie Sie aus dem obigen Code ersehen können, ist er recht einfach und sauber. Es sind nur wenige Codezeilen erforderlich, um eine PDF-Datei aus HTML-Code zu erstellen. Es ist eine schnelle, zuverlässige und zeitsparende Lösung mit genauen Ergebnissen.

Laden Sie IronPDF herunter und testen Sie es für kostenlos. Nach der Testphase beginnt die Lizenzierung mit $749.

< PREVIOUS
Wie man PyCharm benutzt (Anleitung für Entwickler)
NÄCHSTES >
Wie man PDF-Dateien in Python liest

Sind Sie bereit, loszulegen? Version: 2024.9 gerade veröffentlicht

pip install gratuit Lizenzen anzeigen >