Aktualisiert 10. Dezember 2024
Teilen Sie:

HTML zu PDF in Java

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

Dieses Tutorial weist Java-Entwickler an, wie sie die IronPDF-Bibliothek verwenden können, um HTML-Inhalte in pixelperfekte PDF-Dokumente (portable document format) zu konvertieren.

*IronPDF ist ein vollwertiger PDF-Konverter und eine PDF-Verarbeitungsbibliothek. IronPDF ist für beide .NET- und Java-Programmiersprachen verfügbar. Dieses Tutorial behandelt die Verwendung der Bibliothek zur Konvertierung von HTML-Inhalten (Dateien, Markup, etc.) in Java-Anwendungen. Das Tutorial zur Umwandlung von HTML in PDF in .NET-Anwendungen ist im HTML to PDF .NET Tutorial verfügbar.


Übersicht


Erste Schritte

Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer


1. Installation der IronPDF PDF Library for Java

Es gibt zwei Möglichkeiten, die IronPDF-Bibliothek in ein Java-Projekt zu integrieren:

  1. IronPDF als Abhängigkeit in einem Maven-konfigurierten Java-Projekt hinzufügen

  2. Laden Sie die IronPDF JAR-Datei herunter und fügen Sie sie manuell dem Klassenpfad des Projekts hinzu.

    Im folgenden Abschnitt wird kurz auf beide Installationsmethoden eingegangen.

Option 1: IronPDF als Maven-Abhängigkeit installieren

Um IronPDF in einem Java-Projekt mit Maven zu installieren, fügen Sie die folgenden Artefakte in den Abhängigkeitsbereich der pom.xml-Datei des Java-Projekts ein.

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2025.3.6</version>
</dependency>

Das erste Artefakt verweist auf die neueste Version der IronPDF-Bibliothek. Das zweite Artefakt verweist auf eine [SL4J](https://www.slf4j.org/" target="_blank" rel="nofollow noopener noreferrer)-Implementierung. Diese Abhängigkeit ist erforderlich, damit die Rendering-Engine von IronPDF während der Ausführung Logging-Meldungen erzeugen kann. Softwareingenieure können diese Abhängigkeit durch andere Logging-Anbieter (wie [Logback](https://logback.qos.ch/" target="_blank" rel="nofollow noopener noreferrer) und [Log4J](https://logging.apache.org/log4j/2.x/" target="_blank" rel="nofollow noreferrer noopener)) ersetzen; oder ganz darauf verzichten, wenn sie keine Protokollierung benötigen oder wünschen.

Führen Sie den Befehl mvn install in einem Terminal im Stammverzeichnis des Java-Projekts aus, um die zuvor genannten Bibliotheken herunterzuladen.

Option 2: Manuelle Installation des IronPDF JAR

Entwickler, die es vorziehen, Maven oder ein anderes Abhängigkeitsverwaltungssystem nicht zu verwenden, müssen die IronPDF-Bibliotheks-JAR-Datei herunterladen (und die optionale [SL4J](https://mvnrepository.com/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer)-Implementierung) und manuell zum Klassenpfad ihres Projekts hinzufügen.

Laden Sie die IronPDF JAR-Datei direkt von IronPDF JAR download (oder aus dem Maven-Repository) herunter.


Anleitungen und Code-Beispiele

2. Konvertierung von HTML in PDF

In diesem Abschnitt werden die herausragenden HTML-zu-PDF-Rendering-Fähigkeiten von IronPDF vorgestellt.

Die PdfDocument-Klasse ist der Einstiegspunkt für alle Rendering- und Manipulationsfunktionen von IronPDF's PDF-Dokumenten. Die Klasse enthält eine Reihe von robusten Methoden für die Konvertierung von HTML- in PDF-Dokumente zur Unterstützung der folgenden drei Anwendungsfälle: Konvertierung aus HTML-String/Markup, Konvertierung aus einer HTML-Datei und Konvertierung aus einer URL. In diesem Abschnitt wird kurz auf jeden dieser Anwendungsfälle eingegangen, mit Links zu zusätzlichen Inhalten, um weitere Informationen zu sammeln.

2.1 Importieren Sie das IronPDF-Paket

Alle Konvertierungs- und Verarbeitungskomponenten von IronPDF sind im com.ironsoftware.ironpdf-Paket enthalten.

Fügen Sie die folgende Import-Anweisung am Anfang der Java-Quelldateien ein (wo IronPDF verwendet wird), um diese Komponenten für den Quellcode der Anwendung zugänglich zu machen.

// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
JAVA

2.2. Einstellen des Lizenzschlüssels (optional)

IronPDF for Java ist kostenlos zu verwenden. Für kostenlose Nutzer wird jedoch ein PDF-Dokument mit einem gekachelten Hintergrund-Wasserzeichen versehen (wie im unten stehenden Bild gezeigt).

Html To Pdf 23 related to 2.2. Einstellen des Lizenzschlüssels (optional)

Erwerben Sie einen Lizenzschlüssel unter ironpdf.com/java/licensing/, um PDF-Dokumente ohne Wasserzeichen zu konvertieren und zu bearbeiten.

Um IronPDF zur Erzeugung von PDFs ohne Wasserzeichen zu verwenden, muss die Bibliothek einen gültigen Lizenzschlüssel verwenden. Die folgende Codezeile konfiguriert die Bibliothek mit einem Lizenzschlüssel.

// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

Der Lizenzschlüssel sollte vor der Erstellung von PDF-Dateien oder der Anpassung von Dateiinhalten festgelegt werden. Wir empfehlen, die Methode setLicenseKey vor allen anderen Codezeilen aufzurufen.

Erwerben Sie einen Lizenzschlüssel von der IronPDF-Lizenzierungsseite oder kontaktieren Sie uns, um einen kostenlosen Testlizenzschlüssel zu erhalten.

2.3 Festlegen des Speicherorts der Protokolldatei (optional)

Standardmäßig (und unter der Annahme, dass ein SLF4J-Anbieter installiert ist) generiert IronPDF Protokollmeldungen in eine Textdatei namens IronPdfEngine.log, die im Stammverzeichnis der Java-Anwendung liegt.

Um einen anderen Namen und Speicherort für die Logdatei festzulegen, verwenden Sie die Methode Settings.setLogPath:

// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
JAVA

Bitte beachten: Settings.setLogPath muss aufgerufen werden, bevor Sie PDF-Konvertierungs- und -Manipulationsmethoden verwenden.

2.4. Erstellen einer PDF-Datei aus einem HTML-String

PdfDocument.renderHtmlAsPdf konvertiert einen HTML-Inhaltsstring in ein PDF-Dokument.

Das folgende Codebeispiel verwendet ein einzelnes Headline-Element, um eine neue Datei zu erzeugen.

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA
Html To Pdf 5 related to 2.4. Erstellen einer PDF-Datei aus einem HTML-String

Konvertieren Sie HTML-Markup in eine PDF-Datei, indem Sie PdfDocument.renderHtmlAsPdf verwenden. Diese Methode kann PDF-Dokumente unter Verwendung aller gültigen W3C-konformen HTML- und CSS-Markups erstellen.

renderHtmlAsPdf verarbeitet alle HTML-, CSS- und JavaScript-Inhalte auf die gleiche Weise, wie es moderne, standardkonforme Browser können. Damit können Software-Ingenieure PDF-Dokumente erstellen, die genau so aussehen, wie sie in einem Webbrowser angezeigt werden.

Die Methode renderHtmlAsPdf kann Bilder, Stylesheets und Skripte aus auf einem Computer oder einem Netzlaufwerk befindlichen Ordnern beziehen. Das nächste Beispiel erzeugt ein PDF-Dokument aus HTML, das auf eine CSS-Datei und ein Bild verweist, die sich in einem assets-Ordner befinden:

String 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/java/"><img src='assets/logo.png' /></a></body></html>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
pdf.saveAs("output.pdf");
JAVA

Das Ergebnis des obigen Codes ist in der folgenden Abbildung zu sehen.

Html To Pdf 24 related to 2.4. Erstellen einer PDF-Datei aus einem HTML-String

PdfDocument.renderHtmlAsPdf kann alle Arten von Rich-Media-Elementen rendern. Wenn es in Chrome angezeigt wird, dann rendert renderHtmlAsPdf es!

Ein zweites (optionales) Argument für renderHtmlAsPdf ermöglicht es Entwicklern, einen Basispfad anzugeben, von dem aus Webressourcen referenziert werden können. Dieser Pfad kann ein Verzeichnis im lokalen Dateisystem oder sogar ein URL-Pfad sein.

Erfahren Sie mehr über die renderHtmlAsPdf-Methode in diesem Codebeispiel zur Verwendung von HTML zur Erstellung eines PDF oder lesen Sie darüber auf der [API-Referenzseite für die PdfDocument-Klasse](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String).

2.5. Erstellen einer PDF-Datei aus einer URL

Entwickler können mit der Methode PdfDocument.renderUrlAsPdf von IronPDF Online-Webseiten in PDF-Dokumente umwandeln.

Im nächsten Beispiel wird der Wikipedia-Artikel in PDF-Inhalte umgewandelt.

PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
JAVA

Das generierte PDF-Dateiformat ist unten dargestellt.

Html To Pdf 7 related to 2.5. Erstellen einer PDF-Datei aus einer URL

Die IronPDF Java-Bibliothek kann HTML-Inhalte in online gehosteten Webseiten konvertieren. Verwenden Sie die Methode PdfDocument.renderUrlAsPdf, um dies zu ermöglichen.

Erfahren Sie mehr über die Umwandlung von Webseiten in PDF-Inhalte anhand dieses Codebeispiels zur Umwandlung einer URL in ein PDF.

2.6. Erstellen einer PDF-Datei aus einer HTML-Datei

IronPDF kann auch ein HTML-Dokument, das auf einem lokalen Dateisystem gespeichert ist, direkt in das entsprechende PDF-Format umwandeln.

Das nächste Codebeispiel verwendet [diese Rechnung als Demonstrationsobjekt aus der Praxis](https://codepen.io/tjoen/pen/wvgvLX" target="_blank" rel="nofollow noopener noreferrer), um zu zeigen, wie gut IronPDF HTML-Dateien konvertieren kann.

Das HTML-Markup für die Rechnung wird hier der Einfachheit halber wiedergegeben:


<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

Angenommen, die HTML-Datei wurde zusammen mit der CSS-Datei und der JavaScript-Datei in einem Ordner namens invoices gespeichert. Wir können IronPDF verwenden, um die HTML-Datei wie folgt zu konvertieren:

PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
JAVA

Wie bei den Beispielen für die Konvertierung von HTML-Strings in PDF löst IronPDF alle relativen URLs in einem HTML-Dokument korrekt in ihre korrekten Pfade im Dateisystem auf. Das Ergebnis ist eine PDF-Datei, die die visuellen Einflüsse, die die referenzierten Stylesheets und Skripte normalerweise auf einer Webseite haben, perfekt wiedergibt.

3. Weitere Lektüre

Wir haben nur die Oberfläche von IronPDFs HTML-zu-PDF-Rendering-Fähigkeiten angekratzt.

Vertiefen Sie Ihr Verständnis darüber, wie Sie den HTML-zu-PDF-Konverter für die Java-Entwicklung nutzen können, indem Sie die kuratierten Codebeispiele in unserem Abschnitt Codebeispiele nutzen.

  1. Lesen Sie dieses Code-Beispiel für PDF-Generierungseinstellungen, um zu erfahren, wie Sie das Erscheinungsbild eines PDF-Dokuments während des Konvertierungsprozesses anpassen können.

  2. Erstellen Sie PDF-Dateien mit benutzerdefinierten Kopf- und Fußzeilen, Randgrößen, Seitendimensionen, Wasserzeichen und vielem mehr.

  3. Extrahieren Sie PDF-Inhalte (Textextraktion aus PDFs und Bildextraktion aus PDFs) aus Dokumenten, optimieren Sie Dateigrößen mit PDF-Komprimierung, und drucken Sie PDFs programmatisch mit IronPrint-Funktionen.

    Studieren Sie die IronPDF Java API-Referenzseite zur PdfDocument-Klasse, um noch mehr Kontrolle über das gerenderte HTML zu PDF zu erhalten.

Das HTML-zu-PDF-Tutorial-Video ansehen


Tutorial Schnellzugriff

Cps Intellij related to Tutorial Schnellzugriff

Dieses Tutorial als Java-Quellcode herunterladen

Der vollständige HTML-zu-PDF-Java-Quellcode für dieses Tutorial steht als gezipptes IntelliJ-Projekt zum kostenlosen Download bereit.

Download

Erkunden Sie dieses Tutorial auf GitHub

Der Quellcode für dieses Projekt ist auf GitHub verfügbar.

Verwenden Sie diesen Code als einfache Möglichkeit, in wenigen Minuten mit der Arbeit zu beginnen. Das Projekt wird als IntellJ IDEA-Projekt gespeichert, kann aber auch in andere gängige Java-IDEs importiert werden.

Java HTML zu PDF
Github Icon related to Tutorial Schnellzugriff
Documentation related to Tutorial Schnellzugriff

Ansicht der API-Referenz

Entdecken Sie die API-Referenz für IronPDF, die Details zu allen Funktionen, Namespaces, Klassen, Methoden, Feldern und Enums von IronPDF enthält.

Ansicht der API-Referenz
Chaknith Bin

Chaknith Bin

Software-Ingenieur

 LinkedIn

Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.