HTML zu 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-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


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 für die Einbindung derIronPDF Bibliothek in einem Java-Projekt:

  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>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.*;
JAVA

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

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 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"));
JAVA

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");
JAVA
Html To Pdf 5 related to 2.4. Erstellen einer PDF-Datei aus einem HTML-String

Konvertieren Sie HTML-Auszeichnungen in PDF-Dateien mit dem PdfDocument.renderHtmlAsPdf. Mit dieser Methode können PDF-Dokumente mit allen gültigen W3C-konformen HTML- und CSS-Auszeichnungen erstellt werden.

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");
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 darstellen. Wenn es in Chrome angezeigt wird, dann renderHtmlAsPdf wird es wiedergeben!

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");
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 konvertieren, die in online gehosteten Webseiten enthalten sind. Verwenden Sie die PdfDocument.renderUrlAsPdf methode, um dies zu erreichen.

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>
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 Wissen über die Verwendung des HTML-zu-PDF-Konverters für die Java-Entwicklung mit den Codebeispielen, die Sie in unseremCode-Beispiele abschnitt.

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

  2. Erzeugen von PDF-Dateien mitbenutzerdefinierte Kopf- und Fußzeilen, randgrößen, seitenabmessungen, wasserzeichenund vieles mehr.

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

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.

Herunterladen

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