HTML zu PDF in Java
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
Konvertierung von HTML in PDF in Java

- Java-Bibliothek installieren, um HTML in PDF zu konvertieren
- HTML-String in PDF-Dokument umwandeln mit der Methode
renderHtmlAsPdf
- PDF-Dateien aus Website-URL in Java generieren
- Konvertieren Sie HTML-Dateien in PDF-Dateien mit der
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 der IronPDF PDF Library for Java
Es gibt zwei Möglichkeiten, die IronPDF-Bibliothek in ein Java-Projekt zu integrieren:
-
IronPDF als Abhängigkeit in einem Maven-konfigurierten Java-Projekt hinzufügen
-
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.*;
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).
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");
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"));
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");
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");
Das Ergebnis des obigen Codes ist in der folgenden Abbildung zu sehen.
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");
Das generierte PDF-Dateiformat ist unten dargestellt.
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>
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");
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.
-
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.
-
Erstellen Sie PDF-Dateien mit benutzerdefinierten Kopf- und Fußzeilen, Randgrößen, Seitendimensionen, Wasserzeichen und vielem mehr.
-
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
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.
DownloadErkunden 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 PDFAnsicht 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