HTML zu PDF in Java
Dieses Tutorial zeigt Java-Entwicklern, wie sie mit der IronPDF-Bibliothek HTML-Inhalte in pixelgenaue PDF-Dateien umwandeln können(portables Dokumentenformat) dokumente.
IronPDF ist ein vollwertiger PDF-Konverter und eine PDF-Verarbeitungsbibliothek. IronPDF ist verfügbar für.NET undJava programmiersprachen. Dieses Tutorial behandelt die Verwendung der Bibliothek zur Konvertierung von HTML-Inhalten(dateien, Markierungen, etc) in Java-Anwendungen. Das Tutorial für die Konvertierung von HTML in PDF in .NET-Anwendungen ist verfügbar in derHTML zu PDF .NET-Tutorial.
Übersicht
Konvertierung von HTML in PDF in Java
- Java-Bibliothek zur Konvertierung von HTML in PDF installieren
- HTML-String in PDF-Dokument umwandeln mit
renderHtmlAsPdf
methode - PDF-Dateien aus Website-URL in Java generieren
- Konvertieren von HTML-Dateien in PDF-Dateien mit
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 für die Einbindung derIronPDF Bibliothek in einem Java-Projekt:
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>2024.11.4</version>
</dependency>
Das erste Artefakt verweist auf dieneueste Version der IronPDF-Bibliothek. Das zweite Artefakt verweist auf ein SL4J umsetzung. Diese Abhängigkeit ist erforderlich, damit die Rendering-Engine von IronPDF während der Ausführung Logging-Meldungen erzeugen kann. Softwareentwickler können diese Abhängigkeit durch andere Protokollierungsanbieter ersetzen(wie zum Beispiel Logback und Log4J); 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 erwähnten Bibliotheken herunterzuladen.
Option 2: Manuelle Installation des IronPDF JAR
Entwickler, die es vorziehen, weder Maven noch ein anderes System zur Verwaltung von Abhängigkeiten zu verwenden, müssen!!--inline-anchor_ironpdfjava-fatjar{die JAR-Datei der IronPDF-Bibliothek herunterladen}--!! (und die optionale SL4J umsetzung) und fügen sie manuell zum Klassenpfad ihres Projekts hinzu.
Laden Sie die IronPDF JAR-Datei direkt vonIronPDF JAR herunterladen (oder aus dem Maven Repository).
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 Klasse PdfDocument
ist der Einstiegspunkt für alle Funktionen von IronPDF zur Darstellung und Bearbeitung von 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 IronPDF-Konvertierungs- und Verarbeitungskomponenten sind in dem Paket com.ironsoftware.ironpdf enthalten.
Fügen Sie die folgende Importanweisung am Anfang der Java-Quelldateien ein(wo IronPDF verwendet werden soll) 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 Benutzer werden PDF-Dokumente mit einem Wasserzeichen im Hintergrund versehen(wie in der folgenden Abbildung 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 auf der IronPDF-Lizenzierungsseite, oder kontaktieren Sie uns untereinen kostenlosen Testlizenzschlüssel erhalten.
2.3 Festlegen des Speicherorts der Protokolldatei (optional)
Standardmäßig(und unter der Annahme, dass ein SLF4J-Anbieter installiert ist)erzeugt IronPDF Protokollmeldungen in einer Textdatei namens IronPdfEngine.log, die sich im Stammverzeichnis der Java-Anwendung befindet.
Um einen anderen Namen und Speicherort für die Protokolldatei festzulegen, verwenden Sie die Methode Settings.setLogPath
:
// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
Bitte beachten: vor der Verwendung von PDF-Konvertierungs- und -Manipulationsmethoden muss "Settings.setLogPath" aufgerufen werden.
2.4. Erstellen einer PDF-Datei aus einem HTML-String
pdfDocument.renderHtmlAsPdf" wandelt eine Zeichenkette mit HTML-Inhalt in ein PDF-Dokument um.
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 dieselbe 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 auf Bilder, Stylesheets und Skripte zugreifen, die sich in Ordnern auf einem Computer oder auf einem Netzlaufwerk befinden. Das folgende Beispiel erzeugt ein PDF-Dokument aus HTML, das auf eine CSS-Datei und ein Bild in einem "Assets"-Ordner verweist:
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.
Eine zweite(optional) argument für renderHtmlAsPdf
ermöglicht es Entwicklern, einen Basispfad anzugeben, von dem aus auf Web-Assets verwiesen wird. Dieser Pfad kann ein Verzeichnis im lokalen Dateisystem oder sogar ein URL-Pfad sein.
Erfahren Sie mehr über die Methode renderHtmlAsPdf
vondieses Codebeispiel zur Verwendung von HTML zur Erstellung einer PDF-Dateioder lesen Sie darüber in derAPI-Referenzseite für die Klasse PdfDocument.
2.5. Erstellen einer PDF-Datei aus einer URL
Entwickler können Online-Webseiten mit der IronPDF-Methode PdfDocument.renderUrlAsPdf
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 Konvertierung von Webseiten in PDF-Inhalte vondieses Codebeispiel zur Konvertierung einer URL in eine PDF-Datei.
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 praktische Demonstration 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 Wissen über die Verwendung des HTML-zu-PDF-Konverters für die Java-Entwicklung mit den Codebeispielen, die Sie in unseremCode-Beispiele abschnitt.
Lesen Siedieses Codebeispiel für die Einstellungen zur PDF-Erzeugung um zu erfahren, wie Sie das Erscheinungsbild eines PDF-Dokuments während des Konvertierungsprozesses anpassen können.
Erzeugen von PDF-Dateien mitbenutzerdefinierte Kopf- und Fußzeilen, randgrößen, seitenabmessungen, wasserzeichenund vieles mehr.
PDF-Inhalt extrahieren(textextraktion aus PDFs undbildextraktion aus PDFs) aus Dokumenten,dateigrößen mit PDF-Komprimierung optimierenundpDFs programmatisch mit IronPrint-Funktionen drucken.
Studieren Sie dieIronPDF Java API-Referenzseite auf der Klasse
PdfDocument
für eine noch bessere Kontrolle über die Umwandlung von HTML in PDF.
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.
HerunterladenErkunden 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