Wie man HTML in PDF mit IronPDF für Python konvertiert

HTML zu PDF: Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

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


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

TippsUm eine bestimmte Version von IronPdf zu installieren, verwenden Sie bitte die folgende Syntax: ==2023.x.x. Sie können zum Beispiel den Befehl:
ausführen

pip install ironpdf==2023.x.x
pip install ironpdf==2023.x.x
SHELL

Hinweis:IronPDF for Python stützt sich auf die IronPDF for .NET-Bibliothek, insbesondere .NET 6.0, als zugrunde liegende Technologie. Daher muss das .NET 6.0 SDK auf Ihrem Rechner installiert sein, um IronPDF for Python verwenden zu können.


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 Hauptkomponente für das Rendering von PDF-Dokumenten ist die ChromePdfRenderer-Klasse. Außerdem bietet die PdfDocument-Klasse eine Vielzahl von Manipulationsfunktionen. IronPDF bietet zuverlässige Methoden zur Konvertierung von HTML-Inhalten in PDF-Dokumente, die drei Hauptszenarien abdecken:

  • 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 *
PYTHON

2.2 Setzen des Lizenzschlüssels (optional)

IronPDF für 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"
PYTHON

Stellen Sie sicher, dass der Lizenzschlüssel gesetzt ist, bevor Sie PDF-Dateien erstellen oder ihren Inhalt ändern. Es wird empfohlen, die LicenseKey-Methode vor jeder anderen Zeile Code 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 Protokollnachrichten an eine Textdatei namens Default.log im gleichen Verzeichnis wie Ihr Python-Skript generieren.

Wenn Sie den Namen und Ort der Protokolldatei anpassen möchten, können Sie die LogFilePath-Eigenschaft mit dem unten stehenden Code-Snippet 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
PYTHON

Hinweis:Logger.LogFilePath sollte vor der Verwendung von PDF-Konvertierungs- und Manipulationsmethoden aufgerufen werden.

2.4 Erstellen eines PDFs aus einem HTML-String

Die RenderHtmlAsPdf-Methode konvertiert einen HTML-String in ein PDF-Format-Dokument.

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")
PYTHON
Html To Pdf 5 related to 2.4 Erstellen eines PDFs aus einem HTML-String

die Methode RenderHtmlAsPdf ist in der Lage, verschiedene Arten von HTML-Inhalten darzustellen. Wenn es in Chrome angezeigt werden kann, dann wird RenderHtmlAsPdf es darstellen!

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 RenderHtmlAsPdf-Methode externe Ressourcen wie Bilder, Stylesheets und Skripte verarbeiten, die in lokalen oder Netwerkordnern gespeichert sind. Das folgende Beispiel zeigt die Erstellung eines PDF-Dokuments aus HTML, das auf eine CSS-Datei und ein Bild im assets-Ordner 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")
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")
PYTHON
Html To Pdf Html String To Pdf related to 2.4 Erstellen eines PDFs aus einem HTML-String

die Methode RenderHtmlAsPdf ist in der Lage, verschiedene Arten von HTML-Inhalten darzustellen. Wenn es in Chrome angezeigt werden kann, dann wird RenderHtmlAsPdf es darstellen!

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 darüber zu gewinnen, wie man die RenderHtmlAsPdf-Methode verwendet, können Sie diesem Codebeispiel folgen oder die API-Referenzseiten für detailliertere Informationen konsultieren.

2.5 Erstellen eines PDFs aus einer URL

Um eine Website-URL in PDF-Dokumente zu konvertieren, können Entwickler die RenderUrlAsPdf-Methode verwenden, die von IronPDF bereitgestellt wird.

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")
PYTHON
Html To Pdf 7 related to 2.5 Erstellen eines PDFs aus einer URL

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

Ä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.

  1. Lesen Sie dieses Codebeispiel, um herauszufinden, wie Sie das Erscheinungsbild von PDF-Dokumenten während des Konvertierungsprozesses anpassen können.
  2. Lernen Sie, wie man PDF-Dateien mit personalisierten Kopf- und Fußzeilen erzeugt, Randgrößen und Seitendimensionen anpasst, Wasserzeichen hinzufügt und mehr.
  3. 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 für 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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Version: 2025.9 gerade veröffentlicht