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

HTML to PDF in Java

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

dieses Tutorial zeigt Java-Entwicklern, wie sie mit der IronPDF-Bibliothek HTML-Inhalte in pixelgenaue PDF-Dokumente (Portable Document Format) umwandeln können

ironPDF ist ein vollwertiger PDF-Konverter und eine PDF-Verarbeitungsbibliothek. IronPDF is available for both .NET and Java programming languages. Dieses Tutorial behandelt die Verwendung der Bibliothek für die Konvertierung von HTML-Inhalten (Dateien, Markup, etc.) in Java-Anwendungen. Das Tutorial zur Konvertierung von HTML in PDF in .NET-Anwendungen ist im HTML to PDF .NET tutorial verfügbar


Wie man HTML in Java in PDF konvertiert

Wie man HTML in Java in PDF konvertiert

  1. Java-Bibliothek zur Konvertierung von HTML in PDF installieren
  2. Konvertierung eines HTML-Strings in ein PDF-Dokument mit der Methode renderHtmlAsPdf
  3. Generierung von PDF-Dateien aus einer Website-URL in Java
  4. Konvertieren von HTML-Dateien in PDF-Dateien mit der Methode renderHtmlFileAsPdf
  5. Speichern Sie die generierte PDF-Datei als neue Datei

Einstieg

Nutzen Sie IronPDF heute kostenlos in Ihrem Projekt.

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 einzubinden:

  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 Ihres Projekts hinzu.

Im folgenden Abschnitt werden beide Installationsmethoden kurz beschrieben.

Option 1: IronPDF als Maven-Abhängigkeit installieren

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

<dependencies>
    <!-- IronPDF Library -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>

    <!-- SLF4J for logging (optional but recommended) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>
</dependencies>
<dependencies>
    <!-- IronPDF Library -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>

    <!-- SLF4J for logging (optional but recommended) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>
</dependencies>
XML

Das erste Artefakt verweist auf die aktuelle Version der IronPDF-Bibliothek. Das zweite Artefakt verweist auf eine SLF4J-Implementierung. Diese Abhängigkeit ist erforderlich, damit die Rendering-Engine von IronPDF während der Ausführung Logging-Meldungen generieren kann. Software engineers can substitute this dependency for other logging providers (such as Logback and Log4J); oder ganz weglassen, 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 oben genannten Bibliotheken herunterzuladen.

Option 2: Manuelle Installation des IronPDF JAR

Developers who prefer not to use Maven or any other dependency management system will need to download the IronPDF library JAR file (and the optional SLF4J implementation) and manually add it to their project's class path.

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


2. die Umwandlung 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 robuster Methoden zur Konvertierung von HTML- in PDF-Dokumente, die die folgenden drei Anwendungsfälle unterstützen: Konvertierung aus HTML-String/Markup, Konvertierung aus einer HTML-Datei und Konvertierung aus einer URL. In diesem Abschnitt wird jeder dieser Anwendungsfälle kurz behandelt, mit Links zu weiteren Inhalten, um zusätzliche Informationen zu sammeln.

2.1 Importieren des IronPDF-Pakets

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

Fügen Sie die folgende Importanweisung am Anfang der Java-Quelldateien ein (in denen 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.*;
// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
JAVA

2.2. Festlegen des Lizenzschlüssels (optional)

Die Nutzung von IronPDF for Java ist kostenlos. Für kostenlose Nutzer werden PDF-Dokumente mit einem Wasserzeichen im Hintergrund versehen (wie im Bild unten zu sehen).

Bild mit Wasserzeichen

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

// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// 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, dass Sie die Methode setLicenseKey vor allen anderen Codezeilen aufrufen.

Purchase a license key from the IronPDF licensing page, or contact us to einen kostenlosen Testlizenzschlüssel zu erhalten.

2.3 Festlegen des Speicherorts der Protokolldatei (optional)

Standardmäßig (und unter der Voraussetzung, 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 anzugeben, verwenden Sie die Methode Settings.setLogPath:

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

{i:(Settings.setLogPath muss vor der Verwendung von PDF-Konvertierungs- und -Manipulationsmethoden 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.

// Convert HTML string to PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the PDF document
pdf.saveAs("htmlstring_to_pdf.pdf");
// Convert HTML string to PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the PDF document
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA

Konvertierung von HTML-Strings in PDF

renderHtmlAsPdf verarbeitet alle HTML-, CSS- und JavaScript-Inhalte auf die gleiche Weise, wie es moderne, standardkonforme Browser können. Dies hilft Softwareentwicklern bei der Erstellung von PDF-Dokumenten, die genau so aussehen, wie sie in einem Webbrowser angezeigt werden.

Die Methode renderHtmlAsPdf kann Bilder, Stylesheets und Skripte, die sich in Ordnern auf einem Computer oder auf einem Netzlaufwerk befinden, als Quelle verwenden. Das folgende Beispiel erzeugt ein PDF-Dokument aus HTML, das auf eine CSS-Datei und ein Bild in einem Assets-Ordner verweist:

// HTML string with external assets
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>";
// Convert HTML to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document
pdf.saveAs("output.pdf");
// HTML string with external assets
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>";
// Convert HTML to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document
pdf.saveAs("output.pdf");
JAVA

Konvertierungsergebnis mit externen Assets

Ein zweites (optionales) Argument für renderHtmlAsPdf ermöglicht es Entwicklern, einen Basispfad anzugeben, von dem aus auf Web-Assets verwiesen werden kann. Dieser Pfad kann zu einem Verzeichnis im lokalen Dateisystem oder sogar zu einem URL-Pfad führen.

Learn more about the renderHtmlAsPdf method from this code example on using HTML to create a PDF, or read about it in the API Reference page for PdfDocument class.

2.5. Erstellen einer PDF-Datei aus einer URL

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

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

// Convert a URL to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PDF document
pdf.saveAs("url_to_pdf.pdf");
// Convert a URL to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PDF document
pdf.saveAs("url_to_pdf.pdf");
JAVA

URL in PDF Konvertierungsergebnis

Mehr über die Konvertierung von Webseiten in PDF-Inhalte erfahren Sie in diesem Codebeispiel zur Konvertierung 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 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>
HTML

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

// Convert an HTML file to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the PDF document
pdf.saveAs("htmlfile_to_pdf.pdf");
// Convert an HTML file to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the PDF document
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 die richtigen Pfade im Dateisystem auf. Das Ergebnis ist eine PDF-Datei, die die visuellen Einflüsse, die referenzierte Stylesheets und Skripte normalerweise auf einer Webseite haben, perfekt wiedergibt.

3. weiterführende Literatur

Wir haben nur an der Oberfläche von IronPDFs HTML-zu-PDF-Rendering-Fähigkeiten gekratzt.

Vertiefen Sie Ihr Verständnis für die Verwendung des HTML-zu-PDF-Konverters für die Java-Entwicklung anhand der kuratierten Codebeispiele in unserem Code Examples-Bereich.

  1. Lesen Sie dieses Codebeispiel für PDF-Erzeugungseinstellungen, um zu erfahren, wie Sie das Aussehen eines PDF-Dokuments während des Konvertierungsprozesses anpassen können.
  2. Generate PDF files with custom headers and footers, margin sizes, page dimensions, watermarks, and much more.
  3. Extract PDF content (text extraction from PDFs and image extraction from PDFs) from documents, optimize file sizes with PDF compression, and print PDFs programmatically with IronPrint capabilities.

Die IronPDF Java API Referenzseite über die PdfDocument Klasse bietet noch mehr Kontrolle über die Umwandlung von HTML in PDF.

Häufig gestellte Fragen

Wie kann ich HTML-Inhalte in Java in ein PDF umwandeln?

Sie können die Methode PdfDocument.renderHtmlAsPdf von IronPDF verwenden, um HTML-Inhalte in ein PDF-Dokument umzuwandeln. Diese Methode stellt sicher, dass die Formatierung des HTML beibehalten wird.

Ist es möglich, eine Webseiten-URL direkt in Java in ein PDF zu konvertieren?

Ja, Sie können die Methode PdfDocument.renderUrlAsPdf von IronPDF verwenden, um jede Online-Webseite direkt in ein PDF-Dokument zu konvertieren.

Wie konvertiere ich eine lokale HTML-Datei mit Java in ein PDF?

Mit IronPDF können Sie die Methode PdfDocument.renderHtmlFileAsPdf verwenden, um eine auf Ihrem lokalen System gespeicherte HTML-Datei in ein PDF-Dokument zu rendern.

Kann ich Wasserzeichen aus PDFs entfernen, die von Java PDF-Bibliotheken generiert wurden?

Um Wasserzeichen aus mit IronPDF generierten PDFs zu entfernen, müssen Sie vor der Erstellung des PDFs einen gültigen Lizenzschlüssel mit der Methode License.setLicenseKey festlegen.

Wie binde ich externe Ressourcen wie CSS ein, wenn ich HTML in PDF konvertiere?

IronPDF unterstützt die Einbindung externer CSS und anderer Ressourcen bei der Konvertierung von HTML in PDF. Stellen Sie sicher, dass die Pfade zu diesen Ressourcen in Ihren HTML-Inhalten korrekt referenziert sind.

Welche Schritte sind erforderlich, um IronPDF für Java mit Maven zu installieren?

Um IronPDF in einem Java-Projekt mit Maven zu installieren, fügen Sie die IronPDF-Abhängigkeit zur pom.xml-Datei Ihres Projekts hinzu und führen Sie mvn install im Stammverzeichnis des Projekts aus.

Gibt es eine Möglichkeit, die PDF-Erzeugungsprozesse in Java zu protokollieren?

Ja, IronPDF unterstützt die Protokollierung über SLF4J. Wenn Sie einen SLF4J-Anbieter installiert haben, können Sie den Speicherort der Protokolldatei mit der Methode Settings.setLogPath festlegen.

Kann ich das Erscheinungsbild von aus HTML in Java generierten PDFs anpassen?

Ja, IronPDF ermöglicht es Ihnen, die Einstellungen zur PDF-Erstellung anzupassen, einschließlich Header, Footer und Ränder. Sie können dies mit den verschiedenen Anpassungsoptionen der Bibliothek erreichen.

Wo finde ich weitere Beispiele für die Verwendung von IronPDF in Java?

Sie finden weitere Beispiele und Dokumentation zur Verwendung von IronPDF für Java auf der IronPDF-Website im Abschnitt Code-Beispiele und auf der Java-API-Referenzseite.

Ist IronPDF vollständig mit .NET 10 für die HTML-zu-PDF-Konvertierung kompatibel?

Ja. IronPDF ist vollständig mit .NET 10 kompatibel und sofort einsatzbereit, ohne dass spezielle Konfigurationen erforderlich sind. Sie können die HTML-zu-PDF-Methoden – wie beispielsweise ChromePdfRenderer.RenderHtmlAsPdf – in .NET 10 verwenden und von den Framework-Verbesserungen, wie der gesteigerten Leistung und den neueren APIs, profitieren.

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen
Bereit anzufangen?
Version: 2025.11 gerade veröffentlicht