HTML zu PDF: Python
Dieses Handbuch bietet Python-Entwicklern eine Schritt-für-Schritt-Anleitung zur Verwendung der IronPDF-Bibliothek, um HTML-Inhalte in das hochwertige PDF-Format zu konvertieren(portables Dokumentenformat) dateien.
IronPDF ist eine umfassende PDF-Konverter- und Verarbeitungsbibliothek, die mehrere Programmiersprachen unterstützt, darunter.NET, JavaundPython programmiersprachen. Dieses Tutorial konzentriert sich speziell auf die Verwendung von IronPDF in Python-Skripten zur Konvertierung von HTML-Inhalten, sei es in Form von Dateien oder Markup.
Eine separate Anleitung zur Konvertierung von HTML in PDF in .NET-Anwendungen finden Sie unterhier.
Übersicht
Konvertieren von HTML in PDF in Python
- Installieren Sie die für die Konvertierung von HTML in PDF erforderliche Python-Bibliothek
- Nutzen Sie die
RenderHtmlAsPdf
methode zur Umwandlung eines HTML-Strings in ein PDF-Dokument - PDF-Dateien direkt aus einer Website-URL in Python generieren
- Konvertieren Sie HTML-Dateien in PDF-Dateien mit dem
RenderHtmlFileAsPdf
methode - Speichern Sie die generierte PDF-Datei als neue Datei
Erste Schritte
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
1. Installation von IronPDF PDF Library for Python
Um die IronPDF-Bibliothek für Python zu installieren, können Sie den beliebten Paketmanager pip verwenden. Führen Sie einfach den folgenden Befehl aus:
pip installieren ironpdf
Tipps
Bitte beachten Sie
Anleitungen und Code-Beispiele
2. HTML in PDF umwandeln
Im folgenden Abschnitt werden wir uns mit den beeindruckenden Rendering-Fähigkeiten von IronPDF bei der Konvertierung von HTML in PDF befassen.
Die Hauptkomponente für die Darstellung von PDF-Dokumenten ist die Klasse "ChromePdfRenderer". Darüber hinaus bietet die Klasse PdfDocument
eine Reihe von Manipulationsmöglichkeiten. IronPDF bietet zuverlässige Methoden für die Konvertierung von HTML-Inhalten in PDF-Dokumente und deckt dabei drei Schlüsselszenarien ab:
- Konvertierung von HTML-Strings/Markup in PDF
- HTML-Dateien/Zips in PDF konvertieren
URLs in PDF umwandeln
In diesem Abschnitt wird ein kurzer Überblick über jeden Anwendungsfall gegeben, begleitet von zusätzlichen Ressourcen für weitere Details.
2.1 Importieren Sie das IronPDF-Paket
Um IronPDF zu importieren, fügen Sie die folgenden Import-Anweisungen am Anfang der Quelldateien ein, in denen IronPDF verwendet werden soll:
# Import statements for IronPDF Python
from ironpdf import *
2.2. Einstellen des Lizenzschlüssels (optional)
IronPDF for Python ist kostenlos, aber es fügt PDFs ein gekacheltes Wasserzeichen im Hintergrund für kostenlose Benutzer hinzu.
Um mit IronPDF PDFs ohne Wasserzeichen zu erzeugen, ist es notwendig, der Bibliothek einen gültigen Lizenzschlüssel zu geben. Der folgende Codeschnipsel zeigt, wie die Bibliothek mit einem Lizenzschlüssel konfiguriert wird:
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Vergewissern Sie sich, dass der Lizenzschlüssel gesetzt ist, bevor Sie PDF-Dateien erzeugen oder deren Inhalt ändern. Es wird empfohlen, die Methode LicenseKey
vor allen anderen Codezeilen aufzurufen.
Sie könneneinen Lizenzschlüssel kaufen von unserer Lizenzierungsseite oder kontaktieren Sie uns, umeinen kostenlosen Testlizenzschlüssel erhalten.
2.3 Festlegen des Speicherorts der Protokolldatei (optional)
IronPDF kann Protokollmeldungen in eine Textdatei mit dem Namen Default.log im selben Verzeichnis wie Ihr Python-Skript erzeugen.
Wenn Sie den Namen und den Speicherort der Protokolldatei anpassen möchten, können Sie die Eigenschaft "LogFilePath" mit dem folgenden Codeschnipsel festlegen:
# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
Bitte beachten Sie
2.4. Erstellen einer PDF-Datei aus einem HTML-String
Die Methode "RenderHtmlAsPdf" wandelt einen HTML-String in ein Dokument im PDF-Format um.
Das folgende Codeschnipsel zeigt, wie man eine PDF-Datei aus einer HTML-Zeichenkette mit einem einzelnen Headline-Element erzeugt:
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1>")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
Die Methode "RenderHtmlAsPdf" verarbeitet HTML, CSS und JavaScript auf die gleiche Weise wie moderne Browser, um eine genaue Darstellung des Inhalts zu gewährleisten. Mit dieser Funktion können Softwareentwickler PDF-Dateien erstellen, die ihren Pendants im Webbrowser sehr ähnlich sind.
Außerdem kann die Methode "RenderHtmlAsPdf" externe Ressourcen wie Bilder, Stylesheets und Skripte verarbeiten, die sich in lokalen oder Netzwerkordnern befinden. Das folgende Beispiel zeigt die Erstellung eines PDF-Dokuments aus HTML, das auf eine CSS-Datei und ein in einem Ordner assets gespeichertes Bild verweist:
from ironpdf import *
html = """
<html>
<head>
<title>Hello world!</title>
<link rel='stylesheet' href='assets/style.css'>
</head>
<body>
<h1>Hello from IronPDF!</h1>
<a href='https://ironpdf.com/python/'><img src='assets/logo.png' /></a>
</body>
</html>
"""
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
Das Ergebnis des obigen Codes ist in der folgenden Abbildung zu sehen.
Zusätzlich haben Entwickler die Möglichkeit, ein zweites Argument für die Methode "RenderHtmlAsPdf" anzugeben, mit dem sie einen Basispfad für die Referenzierung von Web-Assets angeben können. Dieser Pfad kann auf ein lokales Verzeichnis im Dateisystem oder sogar auf einen URL-Pfad verweisen.
Um ein besseres Verständnis für die Verwendung der Methode "RenderHtmlAsPdf" zu erlangen, können Sie unterdieses Codebeispiel oder konsultieren Sie die API-Referenzseiten für ausführlichere Informationen.
2.5. Erstellen einer PDF-Datei aus einer URL
Um Website-URLs in PDF-Dokumente umzuwandeln, können Entwickler die von IronPDF bereitgestellte Methode RenderUrlAsPdf
verwenden.
Hier ist ein Beispiel, das die Umwandlung eines Wikipedia-Artikels in PDF-Inhalte zeigt.
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
# Export to a file or Stream
pdf.SaveAs("url.pdf")
Das generierte PDF-Dateiformat ist unten dargestellt.
Weitere Informationen finden Sie untercode-Beispiel demonstriert, wie man eine Webseite in PDF konvertiert.
2.6. Erstellen einer PDF-Datei aus einer HTML-Datei
IronPDF bietet die Möglichkeit, HTML-Dateien in PDF zu konvertieren und in einem lokalen Dateisystem zu speichern. Es wandelt den HTML-Inhalt direkt in das entsprechende PDF-Format um.
Für eine praxisnahe Demonstration dieser Funktionalität zeigt das folgende Codebeispiel die Umwandlung einer HTML-Rechnungsdatei. Sie können auf das HTML-Markup der rechnung.
Diese HTML-Auszeichnung soll Ihnen die Arbeit erleichtern:
<html>
<head>
<meta charset="utf-8">
<title>Invoice</title>
<link rel="stylesheet" href="style.css">
<link rel="license" href="https://www.opensource.org/licenses/mit-license/">
<script src="script.js"></script>
</head>
<body>
<header>
<h1>Invoice</h1>
<address contenteditable>
<p>Jonathan Neal</p>
<p>101 E. Chapman Ave<br>Orange, CA 92866</p>
<p>(800) 555-1234</p>
</address>
<span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
<h1>Recipient</h1>
<address contenteditable>
<p>Some Company<br>c/o Some Guy</p>
</address>
<table class="meta">
<tr>
<th><span contenteditable>Invoice #</span></th>
<td><span contenteditable>101138</span></td>
</tr>
<tr>
<th><span contenteditable>Date</span></th>
<td><span contenteditable>January 1, 2012</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Due</span></th>
<td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
</tr>
</table>
<table class="inventory">
<thead>
<tr>
<th><span contenteditable>Item</span></th>
<th><span contenteditable>Description</span></th>
<th><span contenteditable>Rate</span></th>
<th><span contenteditable>Quantity</span></th>
<th><span contenteditable>Price</span></th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
<td><span contenteditable>Experience Review</span></td>
<td><span data-prefix>$</span><span contenteditable>150.00</span></td>
<td><span contenteditable>4</span></td>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</tbody>
</table>
<a class="add">+</a>
<table class="balance">
<tr>
<th><span contenteditable>Total</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Paid</span></th>
<td><span data-prefix>$</span><span contenteditable>0.00</span></td>
</tr>
<tr>
<th><span contenteditable>Balance Due</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</table>
</article>
<aside>
<h1><span contenteditable>Additional Notes</span></h1>
<div contenteditable>
<p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
</div>
</aside>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title>Invoice</title>
<link rel="stylesheet" href="style.css">
<link rel="license" href="https://www.opensource.org/licenses/mit-license/">
<script src="script.js"></script>
</head>
<body>
<header>
<h1>Invoice</h1>
<address contenteditable>
<p>Jonathan Neal</p>
<p>101 E. Chapman Ave<br>Orange, CA 92866</p>
<p>(800) 555-1234</p>
</address>
<span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
<h1>Recipient</h1>
<address contenteditable>
<p>Some Company<br>c/o Some Guy</p>
</address>
<table class="meta">
<tr>
<th><span contenteditable>Invoice #</span></th>
<td><span contenteditable>101138</span></td>
</tr>
<tr>
<th><span contenteditable>Date</span></th>
<td><span contenteditable>January 1, 2012</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Due</span></th>
<td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
</tr>
</table>
<table class="inventory">
<thead>
<tr>
<th><span contenteditable>Item</span></th>
<th><span contenteditable>Description</span></th>
<th><span contenteditable>Rate</span></th>
<th><span contenteditable>Quantity</span></th>
<th><span contenteditable>Price</span></th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
<td><span contenteditable>Experience Review</span></td>
<td><span data-prefix>$</span><span contenteditable>150.00</span></td>
<td><span contenteditable>4</span></td>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</tbody>
</table>
<a class="add">+</a>
<table class="balance">
<tr>
<th><span contenteditable>Total</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Paid</span></th>
<td><span data-prefix>$</span><span contenteditable>0.00</span></td>
</tr>
<tr>
<th><span contenteditable>Balance Due</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</table>
</article>
<aside>
<h1><span contenteditable>Additional Notes</span></h1>
<div contenteditable>
<p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
</div>
</aside>
</body>
</html>
Angenommen, wir haben eine lokale HTML-Datei zusammen mit den zugehörigen CSS- und JavaScript-Dateien in einem Ordner mit dem Namen "invoices" gespeichert. Wir können IronPDF verwenden, um die HTML-Beispieldatei mit dem folgenden Python-Code in PDF zu konvertieren:
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")
# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
Ähnlich wie bei der Konvertierung von HTML-Strings in PDF löst IronPDF automatisch relative URLs in der HTML-Beispieldatei auf und stellt sicher, dass alle referenzierten Stylesheets und Skripte korrekt auf das resultierende PDF-Dokument angewendet werden. Dadurch wird sichergestellt, dass das visuelle Erscheinungsbild der Webseite in der PDF-Datei korrekt wiedergegeben wird.
3. Weitere Lektüre
Entdecken Sie die umfangreichen Möglichkeiten von IronPDFs HTML-zu-PDF-Rendering, indem Sie sich mit unseremCode-Beispiele abschnitt.
Lesen Siedieses Codebeispiel um zu erfahren, wie Sie das Erscheinungsbild von PDF-Dokumenten während des Konvertierungsprozesses anpassen können.
Erfahren Sie, wie Sie PDF-Dateien mit personalisiertenkopfzeilen und fußzeilenanpassenrandgrößen undseitenabmessungen, wasserzeichen hinzufügenund mehr.
Erforschen Sie außerdem Techniken fürextrahieren von Text, optimierung der Dateigrößenund programmatischdrucken von PDFs.