HTML zu PDF in Java

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

IronPDF for Java konvertiert HTML-Inhalte in pixelperfekte PDF-Dokumente mit der gleichen Rendering-Engine, die in modernen Browsern zu finden ist. Java-Anwendungen können PDFs aus HTML-Strings, lokalen HTML-Dateien oder Live-Webseiten generieren, ohne zusätzliches Rendering-Software oder eine GUI-Umgebung zu benötigen.

Dieses Tutorial deckt alle drei HTML-zu-PDF-Konvertierungsmethoden ab, die in IronPDF for Java verfügbar sind, sowie Installations-, Lizenzierungs- und Konfigurationsoptionen. Entwickler, die bereits IronPDF for .NET verwenden, werden die Java-API vertraut finden; das entsprechende .NET-Tutorial ist beim HTML zu PDF for .NET-Tutorial verfügbar.

Hinweis:IronPDF for Java erfordert Java 8 oder höher und ist mit allen großen JVM-basierten Frameworks kompatibel, einschließlich Spring Boot, Java EE und Micronaut.

Schnellstart: Ein PDF Aus HTML Generieren

Das folgende Beispiel erstellt ein einseitiges PDF aus einem HTML-String und speichert es auf der Festplatte. Nach der Installation der Bibliothek über Maven (Schritt 1) ist dies der gesamte erforderliche Code:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;

// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");

// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;

// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");

// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
JAVA

Nutzen Sie IronPDF heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer

Inhaltsverzeichnis


Wie installiere ich IronPDF in einem Java-Projekt?

IronPDF for Java ist im Maven Central-Repository verfügbar. Die empfohlene Installationsmethode ist Maven, obwohl auch manuelle JAR-Installationen für Projekte ohne Build-System unterstützt werden.

Als Maven-Abhängigkeit installieren

Fügen Sie die folgenden Artefakte in den Abschnitt dependencies der Datei pom.xml Ihres Projekts ein:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
XML

Das erste Artefakt bezieht IronPDF. The second is an SLF4J logging implementation. IronPDF verwendet SLF4J, um Diagnosemeldungen während des Renderns auszugeben; you can substitute it with Logback or Log4j 2, or omit logging entirely.

Führen Sie mvn install im Projektstammverzeichnis aus, um die Abhängigkeiten herunterzuladen. Überprüfen Sie die neueste Version von IronPDF, bevor Sie eine Versionsnummer festlegen, da das Änderungsprotokoll alle aktuellen und vergangenen Veröffentlichungen auflistet.

Das JAR manuell installieren

Entwickler, die Maven nicht verwenden, können das IronPDF-Fat-JAR direkt von Maven Central herunterladen und dem Projekt-Classpath hinzufügen. Das Fat-JAR bündelt alle transitiven Abhängigkeiten.

TippsMaven ist der empfohlene Ansatz für neue Projekte. Die JAR-Installation erfordert manuelle Abhängigkeitsverwaltung und kann zu Versionskonflikten in größeren Projekten führen.

Das IronPDF-Paket importieren

Alle Klassen zur Darstellung und Bearbeitung von PDF-Dateien befinden sich im Paket com.ironsoftware.ironpdf. Fügen Sie diese Importanweisung zu einer Java-Quelldatei hinzu, die IronPDF verwendet:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
JAVA

Lizenzschlüssel festlegen

Ohne Lizenzschlüssel rendert IronPDF PDFs mit einem gekachelten Wasserzeichen auf jeder Seite. Um das Wasserzeichen zu entfernen, übergeben Sie einen gültigen Lizenzschlüssel an License.setLicenseKey, bevor Sie eine Rendering-Methode aufrufen:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;

// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;

// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

Platzieren Sie diesen Aufruf beim Start der Anwendung, bevor eine PDF-Generierungslogik ausgeführt wird. Starten Sie eine kostenlose Testversion, um einen Testschlüssel zu erhalten, oder sehen Sie sich Lizenzierungsoptionen für die Produktion an.

Log-Dateipfad konfigurieren

IronPDF schreibt Rendering-Diagnosedaten in eine Protokolldatei namens IronPdfEngine.log im Arbeitsverzeichnis der Anwendung. Rufen Sie Settings.setLogPath auf, um den Dateinamen oder den Speicherort zu ändern:

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
JAVA

WichtigRufen Sie Settings.setLogPath vor jeder PDF-Konvertierung oder -Bearbeitung auf. Nach dem Start des Renderings vorgenommene Aufrufe werden nicht wirksam.

Wie konvertiere ich einen HTML-String in ein PDF in Java?

PdfDocument.renderHtmlAsPdf konvertiert eine HTML-Zeichenkette in ein PdfDocument-Objekt, das anschließend auf der Festplatte gespeichert oder an andere Verarbeitungsmethoden übergeben werden kann. Diese Methode akzeptiert jegliches W3C-konformes HTML, einschließlich vollständiger Seitenmarkups mit den Elementen <head> und <body>.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA
PDF output showing a rendered H1 heading generated from an HTML string using PdfDocument.renderHtmlAsPdf

Die PdfDocument.renderHtmlAsPdf-Methode rendert HTML-Markup in ein PDF, wobei alle W3C-konformen Styles und Strukturen erhalten bleiben.

Die Methode gibt eine PdfDocument-Instanz zurück. Rufen Sie saveAs auf, um die PDF-Datei auf die Festplatte zu schreiben, oder verwenden Sie getBinaryData, um die rohen PDF-Bytes für das Streaming oder die Speicherung abzurufen.

renderHtmlAsPdf verarbeitet alle HTML-, CSS- und JavaScript-Inhalte auf dieselbe Weise wie ein standardkonformer Browser. Das resultierende PDF spiegelt genau wider, wie die Seite aussehen würde, wenn sie in Chrome betrachtet wird.

Für weitere Details zu dieser Methode, siehe das HTML-String zu PDF Codebeispiel auf der IronPDF Java-Beispielseite.

Wie lade ich lokale Assets in einem HTML-String?

HTML referenziert oft externe Assets (Stylesheets, Bilder, Skripte) über relative Pfade. renderHtmlAsPdf akzeptiert ein optionales zweites Argument, das den Basispfad für die Auflösung dieser Verweise festlegt. Der Basis-Pfad kann auf ein lokales Verzeichnis oder eine URL zeigen.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;

// HTML with references to local stylesheets and images
String html = "<html>"
    + "<head>"
    +   "<title>Invoice</title>"
    +   "<link rel='stylesheet' type='text/css' href='style.css'>"
    + "</head>"
    + "<body>"
    +   "<div class='content'>"
    +     "<h1>Invoice #1001</h1>"
    +     "<img src='logo.png' alt='Company Logo'/>"
    +   "</div>"
    + "</body>"
    + "</html>";

// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;

// HTML with references to local stylesheets and images
String html = "<html>"
    + "<head>"
    +   "<title>Invoice</title>"
    +   "<link rel='stylesheet' type='text/css' href='style.css'>"
    + "</head>"
    + "<body>"
    +   "<div class='content'>"
    +     "<h1>Invoice #1001</h1>"
    +     "<img src='logo.png' alt='Company Logo'/>"
    +   "</div>"
    + "</body>"
    + "</html>";

// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
JAVA
PDF output displaying an invoice with styled layout, logo image, and CSS formatting applied from local assets

Wenn ein Basis-Pfad angegeben wird, löst renderHtmlAsPdf relative Asset-Referenzen aus diesem Verzeichnis auf und erzeugt ein vollständig gestyltes PDF.

Das Basis-Pfad-Argument funktioniert sowohl mit absoluten Dateisystempfaden als auch mit URL-Strings. Dadurch eignet sich renderHtmlAsPdf zum Erstellen von PDF-Dateien aus Vorlagen, die auf der Festplatte gespeichert sind oder von einem Webserver bereitgestellt werden.

TippsPfade, die Backslashes im Windows-Stil (C:\invoices\) verwenden, sollten in Schrägstriche umgewandelt werden oder Paths.get() verwenden, um plattformübergreifende Kompatibilität zu gewährleisten.

Wie konvertiere ich eine URL in ein PDF in Java?

PdfDocument.renderUrlAsPdf ruft eine Live-Webseite unter der angegebenen URL ab und rendert sie als PDF. Die Methode lädt die vollständige Seite, einschließlich aller externen CSS, JavaScript und Bilder, bevor das Rendering erfolgt.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
JAVA
PDF output of the Wikipedia article on PDF format, showing the page layout and content rendered by PdfDocument.renderUrlAsPdf

Die PdfDocument.renderUrlAsPdf-Methode erfasst den vollständigen gerenderten Zustand einer Webseite, einschließlich von JavaScript gerenderten Inhalten.

renderUrlAsPdf wartet, bis die JavaScript-Ausführung abgeschlossen ist, bevor die gerenderte Seite erfasst wird. Das bedeutet, dass dynamisch generierte Inhalte (wie Diagramme oder über AJAX geladene Daten) in der Ausgabe-PDF erscheinen.

Für die gleichwertige .NET-Implementierung oder zusätzliche URL-zu-PDF-Optionen, siehe das URL zu PDF Codebeispiel.

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

PdfDocument.renderHtmlFileAsPdf liest eine lokale HTML-Datei ein und rendert sie als PDF. Alle in der HTML-Datei referenzierten relativen Pfade (Stylesheets, Bilder, Skripte) werden relativ zum Verzeichnis der HTML-Datei aufgelöst.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
JAVA

Dieser Ansatz funktioniert gut bei der Dokumentvorlagengenerierung: Rechnungsvorlagen, Berichte oder Zertifikate, die als HTML-Dateien zusammen mit ihren zugeordneten CSS- und Bild-Assets gespeichert sind. IronPDF rendert die Datei mit derselben Genauigkeit wie ein Browser, indem alle CSS Layout-Regeln beibehalten werden.

Hinweis:Der HTML-Dateipfad muss absolut sein. Relative Pfade, die an renderHtmlFileAsPdf übergeben werden, werden aus dem JVM-Arbeitsverzeichnis aufgelöst, was in Server-Umgebungen zu unerwarteten Ergebnissen führen kann.

Wie passe ich die PDF-Ausgabeeinstellungen an?

Die Klasse PdfRenderOptions steuert das Seitenlayout und das Rendering-Verhalten. Erstellen Sie eine PdfRenderOptions-Instanz, konfigurieren Sie die erforderlichen Eigenschaften und übergeben Sie sie an eine der Rendering-Methoden.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;

// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Customized PDF</h1>",
    options
);
pdf.saveAs("customized.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;

// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Customized PDF</h1>",
    options
);
pdf.saveAs("customized.pdf");
JAVA

Die Klasse PdfRenderOptions bietet zusätzliche Eigenschaften zur Steuerung von DPI, Viewport-Breite, Papierausrichtung und Timeout-Werten. Siehe das PDF-Generierungseinstellungen-Codebeispiel für eine vollständige Liste der verfügbaren Optionen.

Wie füge ich Kopf- und Fußzeilen zu einem PDF hinzu?

IronPDF unterstützt sowohl textbasierte als auch HTML-basierte Kopf- und Fußzeilen. Text-Kopfzeilen verwenden vordefinierte Zusammenführungsfelder für allgemeine Werte wie Seitenzahlen und Dokumenttitel; HTML-Kopfzeilen akzeptieren beliebiges HTML-Markup für vollständig angepasste Layouts.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");

// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);

// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");

pdf.addTextHeaders(header);
pdf.addTextFooters(footer);

pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");

// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);

// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");

pdf.addTextHeaders(header);
pdf.addTextFooters(footer);

pdf.saveAs("report_with_headers.pdf");
JAVA

Die Platzhalter {page} und {total-pages} werden beim Rendern durch die aktuelle Seitenzahl und die Gesamtseitenzahl ersetzt. Für komplexere Layouts, wie z. B. eine Fußzeile mit einem Firmenlogo, verwenden Sie HtmlHeaderFooter anstelle von TextHeaderFooter.

Für vollständige Details zu HTML-basierten Kopf- und Fußzeilen, siehe das Codebeispiel zum Hinzufügen von Kopf- und Fußzeilen.

TippsKopf- und Fußzeilen werden innerhalb der Seitenränder gerendert. Erhöhen Sie den oberen oder unteren Rand, bevor Sie Kopf- oder Fußzeilen anwenden, um Überlappungen mit dem Seiteninhalt zu verhindern.

Wie setze ich benutzerdefinierte Ränder und Seitengröße?

Seitengröße und Ränder werden vor dem Rendern der PDF-Datei im Objekt PdfRenderOptions konfiguriert. IronPDF unterstützt Standardpapiergrößen (A4, Letter, Legal) und vollständig benutzerdefinierte Dimensionen.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;

PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;

PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
JAVA

Für eine vollständige Liste unterstützter Papiergrößen und Einheiten, sehen Sie sich das Codebeispiel für benutzerdefinierte Papiergröße und das Codebeispiel für benutzerdefinierte Ränder an.

Wie füge ich ein Wasserzeichen zu einem PDF hinzu?

PdfDocument.applyWatermark fügt jedem Blatt des Dokuments ein Text- oder Bildwasserzeichen hinzu. Das Wasserzeichen wird standardmäßig auf einer separaten Ebene unterhalb des Seiteninhalts angezeigt oder oberhalb davon, wenn das Flag isStampBehind auf false gesetzt ist.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);

pdf.saveAs("draft_watermarked.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);

pdf.saveAs("draft_watermarked.pdf");
JAVA

Der HTML-Ansatz bietet präzise Kontrolle über die Gestaltung des Wasserzeichens, einschließlich Schriftart, Größe, Farbe und Transparenz. Für erweiterte Wasserzeichenkonfigurationen wie wiederholte Kachelmuster oder bildbasierte Stempel, siehe den Wasserzeichen-Anleitung.

Wie extrahiere ich Text aus einem PDF in Java?

PdfDocument.extractAllText liest den in einer PDF-Datei eingebetteten Textinhalt und gibt ihn als einzelnes String zurück. Diese Methode extrahiert auswählbaren Text von allen Seiten im Dokument.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;

// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));

// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;

// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));

// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
JAVA

Die Textextraktion funktioniert bei PDFs, bei denen Text als auswählbare Glyphen gespeichert ist. Für PDFs, die bildbasierte Scans sind, sollten Sie IronPDF mit einer OCR-Bibliothek kombinieren, um Text aus den gerenderten Seitenbildern zu extrahieren.

Siehe das Codebeispiel zum Extrahieren von Text aus einem PDF für zusätzliche Optionen, einschließlich der Textextraktion pro Seite.

Wie extrahiere ich Bilder aus einem PDF in Java?

PdfDocument.extractAllImages gibt eine Liste von BufferedImage-Objekten zurück, eines für jedes in die PDF-Datei eingebettete Bild. Die zurückgegebenen Bilder können direkt auf die Festplatte gespeichert oder an nachgelagerte Bildverarbeitungslogik übergeben werden.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;

// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
    ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;

// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
    ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
JAVA

Für weitere Extraktionsoptionen, einschließlich der Extraktion von Bildern von bestimmten Seiten, siehe das Codebeispiel zum Extrahieren von Bildern aus einem PDF.

Wie komprimiere ich eine PDF-Datei?

PdfDocument.compressImages reduziert die Größe von PDF-Dateien, indem eingebettete Bilder mit einer niedrigeren Qualität neu kodiert werden. Die Methode akzeptiert einen Qualitätswert von 1 (Mindestqualität, kleinste Datei) bis 100 (Maximalqualität).

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;

// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));

// Compress images to 60% quality to reduce file size
pdf.compressImages(60);

pdf.saveAs("large_report_compressed.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;

// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));

// Compress images to 60% quality to reduce file size
pdf.compressImages(60);

pdf.saveAs("large_report_compressed.pdf");
JAVA

Die Bildkompression ist der effektivste Weg, um die Größe von PDFs zu reduzieren, die Fotografien oder hochauflösende Grafiken enthalten. Für zusätzliche Strategien zur Reduzierung der Dateigröße, wie das Entfernen eingebetteter Schriftarten, siehe das PDF-Komprimierung-Codebeispiel.

TippsEin Qualitätswert zwischen 40 und 70 bietet typischerweise einen guten Kompromiss zwischen Dateigrößenreduktion und visueller Treue für die meisten PDF-Anwendungsfälle.

Wie drucke ich ein PDF programmatisch?

PdfDocument.print sendet ein PDF über die Standard-Java-Druck-API an den Standarddrucker des Systems. Die Methode akzeptiert einen booleschen Wert, der steuert, ob ein Druckdialog angezeigt wird.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Print silently to the default printer (no dialog shown)
pdf.print(false);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Print silently to the default printer (no dialog shown)
pdf.print(false);
JAVA

Übergeben Sie true an die Methode print, um den Systemdruckdialog anzuzeigen, in dem Benutzer einen Drucker auswählen und die Druckeinstellungen konfigurieren können, bevor der Druckauftrag gesendet wird.

Nächste Schritte

In diesem Tutorial wurden die wichtigsten HTML-zu-PDF-Umwandlungsmethoden in IronPDF for Java behandelt, zusammen mit der Installation, Konfiguration und den häufigsten Dokumentverarbeitungsoperationen.

Um noch weiter zu gehen:

  1. Durchsuchen Sie die vollständige Reihe von HTML zu PDF Java Codebeispielen für zusätzliche Renderingszenarien, die hier nicht behandelt wurden.
  2. Lesen Sie die IronPDF for Java-Dokumentation, um Bereitstellung, Thread-Sicherheit und Serverkonfiguration zu verstehen.
  3. Erkunden Sie die vollständige IronPDF Java API-Referenz für detaillierte Methodensignaturen und Parameterbeschreibungen.

Starten Sie eine kostenlose Testversion, um PDFs ohne Wasserzeichen zu erzeugen, oder sehen Sie sich Lizenzierungsoptionen an, um das richtige Abonnement für Ihr Projekt zu finden.


Tutorial Schnellzugriff

IntelliJ IDEA IDE-Logo for Java-Entwicklung

Dieses Tutorial als Java-Quellcode herunterladen

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

Herunterladen

Entdecken Sie dieses Tutorial auf GitHub

Der Quellcode für dieses Projekt ist auf GitHub als IntelliJ IDEA-Projekt verfügbar. Er kann in andere beliebte Java-IDEs wie Eclipse und NetBeans importiert werden.

Java HTML zu PDF auf GitHub
GitHub-Logo für Quellcode-Repository
IronPDF Java API-Referenzdokumentationsicon

Sehen Sie sich die API-Referenz an

Erkunden Sie die IronPDF Java API-Referenz, die alle Namespaces, Klassen, Methoden und Enums in der Bibliothek abdeckt.

Sehen Sie sich die API-Referenz an

Häufig gestellte Fragen

Wofür wird IronPDF for Java verwendet?

IronPDF for Java konvertiert HTML-Inhalte in PDF-Dokumente innerhalb von Java-Anwendungen. Es unterstützt die Konvertierung von HTML-Strings, lokalen HTML-Dateien und Live-Webseiten-URLs und bietet Tools zum Hinzufügen von Headern und Footern, Wasserzeichen, Textextraktion, Bildextraktion und Dateikomprimierung.

Wie installiere ich IronPDF in einem Java-Projekt?

Fügen Sie Ihrer pom.xml zwei Maven-Abhängigkeiten hinzu: com.ironsoftware:ironpdf und org.slf4j:slf4j-simple, und führen Sie dann mvn install aus. Alternativ können Sie die Fat-JAR von Maven Central herunterladen und sie dem Projektklassenpfad hinzufügen.

Wie konvertiere ich einen HTML-String in ein PDF in Java?

Rufen Sie PdfDocument.renderHtmlAsPdf(htmlString) mit Ihrem HTML-Markup auf. Die Methode gibt ein PdfDocument-Objekt zurück. Rufen Sie pdf.saveAs("output.pdf") auf, um es auf die Festplatte zu schreiben.

Wie konvertiere ich eine URL in ein PDF in Java?

Rufen Sie PdfDocument.renderUrlAsPdf("https://example.com") auf. IronPDF ruft die Seite ab, wartet auf die Ausführung von JavaScript und rendert dann die vollständig geladene Seite als PDF.

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

Rufen Sie PdfDocument.renderHtmlFileAsPdf("C:/path/to/file.html") auf. Verwenden Sie einen absoluten Dateipfad. IronPDF löst relative CSS- und Bildverweise automatisch aus dem Verzeichnis der HTML-Datei.

Fügt IronPDF for Java generierten PDFs ein Wasserzeichen hinzu?

Ohne Lizenzschlüssel fügt IronPDF allen generierten PDFs ein gekacheltes Wasserzeichen hinzu. Setzen Sie vor einem Rendering-Aufruf einen gültigen Lizenzschlüssel mit License.setLicenseKey("YOUR-KEY"), um das Wasserzeichen zu entfernen.

Welche Java-Version benötigt IronPDF?

IronPDF for Java erfordert Java 8 oder höher. Es ist kompatibel mit Spring Boot, Java EE, Micronaut und anderen JVM-basierten Frameworks.

Wie füge ich mit IronPDF Seitenzahlen zu einem PDF in Java hinzu?

Erstellen Sie eine TextHeaderFooter-Instanz und rufen Sie setRightText("{page} of {total-pages}") auf. Übergeben Sie das Objekt an pdf.addTextFooters(footer). Die Zusammenführungsfelder werden zur Renderzeit durch tatsächliche Seitenzahlen ersetzt.

Kann IronPDF for Java Text aus einem PDF extrahieren?

Ja. Laden Sie ein PDF mit PdfDocument.fromFile(Paths.get("file.pdf")), und rufen Sie dann pdf.extractAllText() auf, um alle auswählbaren Textinhalte als String abzurufen.

Wie reduziere ich die Dateigröße eines PDFs in Java?

Rufen Sie pdf.compressImages(quality) auf, wobei quality eine Ganzzahl von 1 bis 100 ist. Ein Wert von 60 bietet ein gutes Gleichgewicht zwischen Dateigröße und Bildqualität für die meisten PDFs.

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: 2026.5 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis?
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.