HTML zu PDF: Python
Dieser Leitfaden bietet Python-Entwicklern eine schrittweise Anleitung zur Nutzung der IronPDF-Bibliothek, um HTML-Inhalte in qualitativ hochwertige PDF-Dateien (Portable Document Format) zu konvertieren.
IronPDF ist eine umfassende PDF-Konverter- und Verarbeitungslösung, die mehrere Programmiersprachen unterstützt, darunter .NET, Java und Python. Dieses Tutorial konzentriert sich speziell darauf, IronPDF in Python-Skripten zu verwenden, um HTML-Inhalte zu konvertieren, egal ob es sich um Dateien oder Markup handelt.
Ein separates Tutorial zur Konvertierung von HTML zu PDF in .NET-Anwendungen ist ebenfalls verfügbar.
Überblick
Wie man mit Python HTML in PDF konvertiert
- Installieren Sie die Python-Bibliothek, die für die Umwandlung von HTML in PDF erforderlich ist
- Verwenden Sie die Methode `RenderHtmlAsPdf`, um einen HTML-String in ein PDF-Dokument zu konvertieren
- PDF-Dateien direkt aus einer Website-URL in Python generieren
- Konvertierung von HTML-Dateien in PDF-Dateien mit der Methode `RenderHtmlFileAsPdf`
- Speichern Sie die generierte PDF-Datei als neue Datei
Erste Schritte
1. Installation der IronPDF PDF-Bibliothek für 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 install ironpdf
==2023.x.x. Zum Beispiel können Sie den Befehl ausführen:pip install ironpdf==2023.x.x
pip install ironpdf==2023.x.x
Anleitungen und Code-Beispiele
2. HTML zu PDF konvertieren
Im folgenden Abschnitt werden wir die beeindruckenden Rendering-Fähigkeiten von IronPDF für die Umwandlung von HTML zu PDF näher beleuchten.
Die primäre Komponente für die PDF-Dokumentdarstellung ist die Klasse ChromePdfRenderer. Darüber hinaus bietet die Klasse PdfDocument eine Reihe von Manipulationsfunktionen. IronPDF bietet zuverlässige Methoden zur Konvertierung von HTML-Inhalten in PDF-Dokumente und ist auf three key scenarios: zugeschnitten.
- HTML-Strings/Markup in PDF konvertieren
- HTML-Dateien/Zips in PDF konvertieren
- URLs in PDF konvertieren
Dieser Abschnitt gibt einen kurzen Überblick über jeden Anwendungsfall, ergänzt durch zusätzliche Ressourcen für weiterführende Details.
2.1 Importieren des IronPDF-Pakets
Um IronPDF zu importieren, fügen Sie die folgende Import-Anweisung am Anfang der Quelldateien hinzu, in denen IronPDF verwendet wird:
# Import statement for IronPDF for Python
from ironpdf import *
# Import statement for IronPDF for Python
from ironpdf import *
2.2 Setzen des Lizenzschlüssels (optional)
IronPDF for Python ist kostenlos nutzbar, fügt jedoch für kostenlose Nutzer einen gekachelten Hintergrundwasserzeichen zu PDFs hinzu.
Besuchen Sie die Lizenzierungsseite, um Ihren Lizenzschlüssel zu erhalten und das wasserzeichenfreie PDF zu genießen.
Um PDFs ohne Wasserzeichen mit IronPDF zu erzeugen, ist es notwendig, der Bibliothek einen gültigen Lizenzschlüssel bereitzustellen. Der folgende Codeausschnitt zeigt, wie die Bibliothek mit einem Lizenzschlüssel konfiguriert wird:
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Stellen Sie sicher, dass der Lizenzschlüssel gesetzt ist, bevor Sie PDF-Dateien erstellen oder ihren Inhalt ändern. Es wird empfohlen, die Methode LicenseKey vor allen anderen Codezeilen aufzurufen. Sie können einen Lizenzschlüssel kaufen oder uns kontaktieren, um einen kostenlosen Testlizenzschlüssel zu 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 generieren.
Wenn Sie den Namen und den Speicherort der Protokolldatei anpassen möchten, können Sie die Eigenschaft LogFilePath mithilfe des folgenden Codeausschnitts festlegen:
# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
# Set a log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All
Logger.LogFilePath sollte vor der Verwendung von PDF-Konvertierungs- und -Bearbeitungsmethoden aufgerufen werden.
2.4 Erstellen eines PDFs aus einem HTML-String
Die Methode RenderHtmlAsPdf wandelt eine HTML-Zeichenkette in ein PDF-Dokument um.
Das untenstehende Codebeispiel zeigt, wie man aus einem HTML-String mit einem einzigen Überschriftelement eine PDF-Datei 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")
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 RenderHtmlAsPdf-Methode verarbeitet HTML, CSS und JavaScript auf die gleiche Weise wie moderne Browser und sorgt so für eine korrekte Darstellung des Inhalts. Mit dieser Funktion können Softwareentwickler PDF-Dateien erstellen, die ihren Pendants im Webbrowser sehr ähnlich sind.
Darüber hinaus kann die Methode RenderHtmlAsPdf externe Ressourcen wie Bilder, Stylesheets und Skripte verarbeiten, die sich in lokalen oder Netzwerkordnern befinden. Das folgende Beispiel veranschaulicht die Erstellung eines PDF-Dokuments aus HTML, das auf eine CSS-Datei und ein Bild verweist, die in einem Ordner assets gespeichert sind:
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")
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")
Zusätzlich haben Entwickler die Möglichkeit, ein zweites Argument für die RenderHtmlAsPdf-Methode 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 sich dieses Codebeispiel ansehen oder die API-Referenzseiten für detailliertere Informationen konsultieren.
2.5 Erstellen eines PDFs aus einer URL
Um eine Website-URL 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")
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")
Weitere Informationen finden Sie in einem Codebeispiel, das zeigt, wie eine Webseite in ein PDF-Dokument umgewandelt wird.
2.6 Erstellen eines PDFs aus einer HTML-Datei
IronPDF bietet die Möglichkeit, HTML-Dateien in PDF zu konvertieren und sie auf einem lokalen Dateisystem zu speichern. Es rendert direkt den HTML-Inhalt in sein entsprechendes PDF-Format.
For a real-world demonstration of this functionality, the following code example showcases the conversion of an invoice HTML file. You can access the HTML markup of the invoice.
Dieses HTML-Markup wird Ihnen zur Verfügung gestellt:
<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>
Gehen wir davon aus, dass wir eine lokale HTML-Datei zusammen mit den zugehörigen CSS- und JavaScript-Dateien in einem Ordner namens 'invoices' gespeichert haben. Wir können IronPDF verwenden, um die Beispiel-HTML-Datei mit dem folgenden Python-Code in PDF zu konvertieren:
from ironpdf import *
# 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")
from ironpdf import *
# 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 Umwandlung von HTML-Strings in PDF löst IronPDF automatisch relative URLs in der Beispiel-HTML-Datei auf, um sicherzustellen, dass alle referenzierten Stylesheets und Skripte korrekt auf das resultierende PDF-Dokument angewendet werden. Dies stellt sicher, dass das visuelle Erscheinungsbild der Webseite genau im PDF-Dokument widergespiegelt wird.
3. weiterführende Literatur
Entdecken Sie die umfangreichen Möglichkeiten des HTML-zu-PDF-Rendings von IronPDF, indem Sie auf unseren Codebeispiele Bereich stöbern.
- Lesen Sie dieses Codebeispiel, um herauszufinden, wie Sie das Erscheinungsbild von PDF-Dokumenten während des Konvertierungsprozesses anpassen können.
- Lernen Sie, wie man PDF-Dateien mit personalisierten Kopf- und Fußzeilen erzeugt, Randgrößen und Seitendimensionen anpasst, Wasserzeichen hinzufügt und mehr.
- Erkunden Sie zudem Techniken zum Extrahieren von Text, zur Optimierung der Dateigrößen und zum Programmieren des Druckens von PDFs.
Laden Sie das Softwareprodukt herunter.
Häufig gestellte Fragen
Wie kann ich HTML mit Python in PDF konvertieren?
Sie können die IronPDF-Methode RenderHtmlAsPdf verwenden, um HTML-Strings in PDF-Dokumente in Python zu konvertieren. Diese Methode stellt sicher, dass HTML inklusive CSS und JavaScript präzise in ein hochwertiges PDF gerendert wird.
Welche Bibliothek unterstützt die HTML-zu-PDF-Konvertierung in Python?
IronPDF ist eine leistungsstarke Bibliothek, die HTML-zu-PDF-Konvertierung in Python unterstützt. Sie bietet verschiedene Methoden, um HTML-Strings, URLs und Dateien in PDF-Dokumente umzuwandeln, während das Format beibehalten wird.
Wie installiere ich IronPDF für die HTML-zu-PDF-Konvertierung in Python?
Um IronPDF for Python zu installieren, verwenden Sie den Befehl pip install ironpdf in Ihrem Terminal. Beachten Sie, dass Sie das .NET 6.0 SDK installiert haben müssen, da IronPDF davon abhängt.
Kann ich eine Webseite-URL in PDF in Python umwandeln?
Ja, Sie können die Methode RenderUrlAsPdf von IronPDF verwenden, um eine Webseite-URL in ein PDF-Dokument zu konvertieren. Diese Funktion ermöglicht es Ihnen, Inhalte von Live-Webseiten direkt zu erfassen und umzuwandeln.
Wie behandelt IronPDF externe Ressourcen während der Konvertierung?
IronPDF kann HTML-Dateien verarbeiten, die externe Ressourcen wie Bilder, Stylesheets und Skripte enthalten. Es löst relative URLs auf, um sicherzustellen, dass diese Ressourcen korrekt in das PDF aufgenommen werden.
Ist es möglich, PDF-Kopf- und Fußzeilen mit Python anzupassen?
Ja, IronPDF ermöglicht es Ihnen, benutzerdefinierte Kopf- und Fußzeilen in Ihre PDF-Dokumente einzufügen. Dies kann durch Anpassen der Eigenschaften von PdfDocument entsprechend Ihren spezifischen Formatierungsanforderungen erfolgen.
Wie kann ich Wasserzeichen aus PDFs entfernen, die mit IronPDF erstellt wurden?
Um Wasserzeichen aus PDFs zu entfernen, die von IronPDF generiert wurden, müssen Sie einen gültigen Lizenzschlüssel setzen, bevor Sie das PDF verarbeiten. Dadurch werden die PDFs ohne Standardwasserzeichen erstellt.
Was sind einige erweiterte Funktionen von IronPDF für die HTML-zu-PDF-Konvertierung?
IronPDF bietet erweiterte Funktionen wie das Setzen benutzerdefinierter Seitenränder, Anpassen von Abmessungen, Hinzufügen von Wasserzeichen, Optimieren von Dateigrößen und Extrahieren von Text. Diese Funktionen erhöhen die Flexibilität und Nützlichkeit der Bibliothek.
Wo finde ich Beispiele für die Verwendung von IronPDF bei der HTML-zu-PDF-Konvertierung?
Sie finden verschiedene Beispiele und detaillierte Codeausschnitte im Abschnitt 'Code Examples' auf der IronPDF-Website, die Einblicke in die effektive Nutzung der Funktionen von IronPDF bieten.
Welche Hauptklasse wird in IronPDF für das Rendern von PDFs verwendet?
Die ChromePdfRenderer Klasse ist die Hauptklasse, die in IronPDF zum Rendern von PDFs verwendet wird. Sie bietet zuverlässige Methoden zum Konvertieren von HTML, zum Umgang mit externen Ressourcen und zur Sicherstellung einer exakten Wiedergabe ähnlich wie moderne Browser.
Ist IronPDF mit .NET 10 kompatibel?
Ja – IronPDF ist vollständig kompatibel mit .NET 10, genau wie mit früheren Versionen wie .NET 6, 7, 8 und 9. Es funktioniert sofort mit .NET 10-Projekten, unabhängig von der Plattform (Windows, Linux usw.), und unterstützt den neuesten API-Stack ohne dass spezielle Workarounds erforderlich sind.




