HTML zu PDF in Java

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

IronPDF for Java bietet Entwicklern einen direkten Weg vom HTML-Inhalt zur PDF-Ausgabe, ohne eine separate Layout-API lernen zu müssen. Die Bibliothek rendert HTML, CSS und JavaScript auf die gleiche Weise wie ein moderner Browser, sodass die PDF-Ausgabe dem entspricht, was Sie auf dem Bildschirm sehen. Dieses Tutorial behandelt die Installation, die drei Kernmethoden zur Konvertierung von HTML zu PDF und Formatierungsoptionen, einschließlich Kopf- und Fußzeilen, Seitengrößen und benutzerdefinierte Ränder.

Das Tutorial verwendet IronPDF for Java. Ein paralleler Leitfaden für die .NET-Version ist im HTML-zu-PDF-Konvertierungstutorial for .NET verfügbar. IronPDF ist auch für Python und Node.js verfügbar.

Schnellstart: HTML in eine PDF-Datei konvertieren

Der kürzeste Weg zu einem PDF aus einem HTML-String sind drei Zeilen Java-Code:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
JAVA

Nutzen Sie IronPDF heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer

Inhaltsverzeichnis

Installation

Wie Füge Ich IronPDF Zu Einem Maven-Projekt In Java Hinzu?

Das Hinzufügen von IronPDF zu einem Maven-Projekt erfordert zwei Einträge im Abhängigkeitsblock pom.xml des Projekts. Der erste zieht die IronPDF-Bibliothek ein; Der zweite fügt einen SLF4J-Logging-Provider hinzu, sodass IronPDF während der Ausführung Nachrichten schreiben kann.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-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/format-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 Artefakt ironpdf verweist auf die neueste Version von IronPDF for Java und das Changelog. Die slf4j-simple-Abhängigkeit stellt ein grundlegendes Logging-Backend bereit. You can substitute it with Logback or Log4J as needed, or omit it entirely to suppress log output.

Führen Sie nach dem Hinzufügen beider Einträge mvn install aus dem Projektstammverzeichnis aus, um die Artefakte herunterzuladen. Maven resolves the dependency against Maven Central.

TippsÜberprüfen Sie die Maven Central-Seite für com.ironsoftware:ironpdf, um die aktuelle Versionsnummer zu bestätigen, bevor Sie sie zu Ihrer pom.xml hinzufügen.

Wie Installiere Ich Das IronPDF JAR Manuell in Java?

Projekte, die Maven oder einen anderen Abhängigkeitsmanager nicht verwenden, können IronPDF hinzufügen, indem sie das JAR direkt herunterladen und im Klassenpfad einschließen. Navigieren Sie zur IronPDF for Java Herunterladen-Seite und laden Sie die fat-JAR-Datei herunter.

Das fat-JAR bündelt alle Abhängigkeiten, sodass keine zusätzlichen Klassenpfadeinträge über das Hauptartefakt hinaus erforderlich sind. Optionally download an SLF4J implementation JAR to enable logging.

Fügen Sie beide JAR-Dateien über das Bibliotheksverwaltungsfenster Ihrer IDE zum Klassenpfad des Projekts hinzu oder geben Sie beim Kompilieren und Ausführen über das Terminal -classpath-Einträge an.

Wie Importiere Ich IronPDF in Meine Java-Quell-Dateien?

Das com.ironsoftware.ironpdf-Paket enthält alle Konvertierungs- und Verarbeitungskomponenten. Platzieren Sie die folgende Importanweisung am Anfang jeder Java-Datei, die IronPDF-Methoden aufruft.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
JAVA

Ein gezielter Import, der bestimmte Klassen benennt, ist ebenfalls zulässig: import com.ironsoftware.ironpdf.PdfDocument;. Der Wildcard-Import ist während der Erkundung praktisch.

Wie Setze Ich Einen Lizenzschlüssel in IronPDF for Java?

IronPDF for Java ist ohne Lizenzschlüssel kostenlos nutzbar, es fügt jedoch ein gekacheltes Wasserzeichen zu allen erstellten oder geänderten PDF-Dokumenten hinzu. Um das Wasserzeichen zu entfernen, geben Sie vor dem Aufruf irgendeiner Konvertierungs- oder Manipulationsmethode einen gültigen Lizenzschlüssel an.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

Fügen Sie den Aufruf setLicenseKey beim Start der Anwendung ein, bevor eine PdfDocument-Methode aufgerufen wird. Kaufen Sie einen Lizenzschlüssel oder starten Sie eine kostenlose Testversion, um PDFs ohne Wasserzeichen zu erstellen.

IronPDF licensing page showing how to obtain a license key to remove watermarks from generated PDFs

Ein gültiger Lizenzschlüssel entfernt das gekachelte Wasserzeichen aus generierten PDFs. Erhalten Sie einen auf der IronPDF-Lizenzierungsseite oder beantragen Sie eine kostenlose Testversion.

Den Speicherort Der Protokolldatei Festlegen (Optional)

Standardmäßig schreibt IronPDF Engine-Meldungen in eine Datei namens IronPdfEngine.log im Stammverzeichnis der Anwendung. Um den Pfad der Protokolldatei zu ändern, rufen Sie Settings.setLogPath auf, bevor Sie PDF-Operationen ausführen.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
JAVA

Hinweis:Der Aufruf setLogPath muss vor allen Aufrufen von PdfDocument erfolgen. Ein Aufruf nach Beginn einer Konvertierung hat keine Auswirkungen auf diese Sitzung.

Wie Wandle Ich Einen HTML-String In Ein PDF In Java Um?

PdfDocument.renderHtmlAsPdf(String html) wandelt jedes gültige HTML-Markup in ein PDF-Dokument um. Die Methode akzeptiert eine rohe HTML-Zeichenkette und gibt ein PdfDocument-Objekt zurück, das gespeichert, zusammengeführt oder weiter bearbeitet werden kann.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
JAVA
PDF output from IronPDF renderHtmlAsPdf showing an H1 heading rendered faithfully from an HTML string

IronPDF rendert HTML-Markup direkt in ein pixelgenaues PDF. Der hier gezeigte Output wurde durch das obige Codebeispiel erstellt.

Die Rendering-Engine basiert auf Chromium, sodass jedes HTML, CSS oder JavaScript, das in Chrome funktioniert, im PDF korrekt gerendert wird. Dies schließt Flexbox-Layouts, CSS Grid, Web-Schriften, SVGs und JavaScript-gesteuerte Diagramme ein.

Eine überladene Version der Methode akzeptiert ein zweites Argument für einen Basispfad: renderHtmlAsPdf(String html, String basePath). Dieser Basis-Pfad wird verwendet, um relative Verweise auf lokale Stylesheets, Bilder und Skripte aufzulösen.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
JAVA

Der Basis-Pfad kann auf ein Verzeichnis im lokalen Dateisystem oder auf eine entfernte URL zeigen. IronPDF ruft referenzierte Assets während des Renderings von diesem Speicherort ab.

IronPDF renderHtmlAsPdf output showing a full-page document with stylesheet applied, CSS styles preserved from the HTML source

Wenn ein Basis-Pfad angegeben ist, löst IronPDF lokale CSS- und Bildverweise auf, um ein vollständig gestyltes PDF zu erzeugen.

TippsDamit die Auflösung lokaler Assets funktioniert, müssen alle referenzierten Dateien vom Basis-Pfad aus zugänglich sein. Pfade mit Schrägstrichen funktionieren sowohl unter Windows als auch unter Linux.

Für einen fokussierten Blick auf diese Methode, siehe das HTML-String Zu PDF-Codebeispiel.

Wie Wandle Ich Eine URL In Ein PDF In Java Um?

PdfDocument.renderUrlAsPdf(String url) ruft die Seite unter der angegebenen URL ab und rendert das vollständige DOM (einschließlich der Ausführung von JavaScript), bevor die Ausgabe als PDF gespeichert wird.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
JAVA
PDF generated by IronPDF from the Wikipedia PDF article page, showing multi-column layout and navigation elements preserved

IronPDF erfasst den vollständigen gerenderten Zustand einer Webseite, einschließlich dynamischer Inhalte, die durch JavaScript erstellt werden.

Die Chromium-Rendering-Engine ruft externe Stylesheets, Schriften und JavaScript-Dateien ab, sodass das resultierende PDF den visuellen Zustand der Seite genau widerspiegelt. Diese Methode eignet sich gut für die Berichtserstellung aus Web-Dashboards, das Archivieren öffentlicher Webinhalte oder das Konvertieren von Datenvisualisierungen, die von Client-seitigem Rendering abhängen.

WichtigDie URL-zu-PDF-Konvertierung erfordert ausgehenden HTTP/HTTPS-Zugriff von dem Server, auf dem IronPDF ausgeführt wird. Stellen Sie sicher, dass Netzwerkregeln dies zulassen, bevor Sie sie in einer Produktionsumgebung einsetzen.

Siehe das Beispiel für die URL-zu-PDF-Konvertierung für zusätzliche Optionen wie benutzerdefinierte Anforderungsheader und Authentifizierung.

Wie Wandle Ich Eine HTML-Datei In Ein PDF In Java Um?

PdfDocument.renderHtmlFileAsPdf(String filePath) liest eine HTML-Datei aus dem lokalen Dateisystem und konvertiert sie in PDF. Die Methode löst automatisch alle relativen Asset-Verweise in der HTML-Datei gegen das Verzeichnis der Datei auf.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
JAVA

Die Methode behandelt HTML-Projekte mit mehreren Dateien korrekt. Wenn im obigen Beispiel TestInvoice1.html auf ein Stylesheet im selben Verzeichnis verweist, wendet IronPDF dieses Stylesheet beim Rendern an. Das Ergebnis ist ein PDF, das dem browsergerenderten Erscheinungsbild der Quelldatei entspricht.

TippsVerwenden Sie absolute Dateipfade, wenn Sie renderHtmlFileAsPdf aus einer Serveranwendung aufrufen. Relative Pfade werden gegen das Arbeitsverzeichnis der JVM aufgelöst, das sich möglicherweise vom Speicherort der HTML-Datei unterscheidet.

Diese Methode ist besonders nützlich für PDF-Erstellung-Workflows, die HTML-Vorlagen auf der Festplatte pflegen: Rechnungsgeneratoren, Berichtsvorlagen und Formularausgabesysteme sind gängige Anwendungsfälle.

Wie Setze Ich Seitenformat Und Ausrichtung Für PDF In Java?

Seitengröße und -ausrichtung werden über die Klasse ChromePdfRenderOptions gesteuert. Erstellen Sie eine ChromePdfRenderOptions-Instanz, konfigurieren Sie die Eigenschaften und übergeben Sie sie als zweites Argument an einen beliebigen renderHtmlAsPdf-Aufruf.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
JAVA

PaperSize enthält Standardoptionen wie A4, Letter, Legal, A3 und A5. PaperOrientation akzeptiert Portrait (Standard) oder Landscape.

Verwenden Sie für nicht standardmäßige Abmessungen setCustomPaperSizeInMillimeters(double width, double height) oder setCustomPaperSizeInInches(double width, double height):

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
JAVA

Die vollständige Liste der PaperSize-Konstanten und Größenoptionen finden Sie im Beispiel für benutzerdefinierte PDF-Papierformate.

Wie Setze Ich Benutzerdefinierte Ränder Bei Einem PDF In Java?

Die Randbreiten werden ebenfalls über ChromePdfRenderOptions festgelegt. Die Bibliothek stellt separate Setter für obere, untere, linke und rechte Ränder bereit, die alle Werte in Millimetern akzeptieren.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
JAVA

Wenn alle Ränder auf null gesetzt sind, wird der gesamte Weiße Raum entfernt, was für randlose Designs wie Etiketten, Zertifikate oder grafische Layouts nützlich ist.

Hinweis:Die Randwerte von IronPDF sind in Millimetern. Der Wert 0 deaktiviert den Rand an dieser Seite. Beachten Sie, dass Druckertreiberränder von IronPDF-Rändern getrennt sind, sodass Inhalte, die die Seite vom Rand bis zum Rand füllen, beim Drucken möglicherweise immer noch abgeschnitten werden.

Für ein funktionierendes Code-Beispiel besuchen Sie das Beispiel für benutzerdefinierte Ränder.

Wie Füge Ich Kopf- Und Fußzeilen Bei Einem PDF In Java Hinzu?

IronPDF unterstützt zwei Arten von Kopf- und Fußzeilen: textbasierte (TextHeaderFooter) und HTML-basierte (HtmlHeaderFooter). Text-Kopfzeilen sind schnell zu konfigurieren; HTML-Kopfzeilen unterstützen volle Gestaltung und Bilder.

Hinzufügen Einer Text-Kopf-Und Fußzeile

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
JAVA

Die Platzhalter {page}, {total-pages}, {date}, {time}, {url} und {html-title} werden beim Rendern durch dokumentspezifische Werte ersetzt.

Hinzufügen Einer HTML-Kopfzeile

Verwenden Sie für Überschriften, die Logos, Markenfarben oder komplexe Layouts erfordern, HtmlHeaderFooter:

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
JAVA

TippsHTML-Kopfzeilenfragmente werden in ihrem eigenen Seitenkontext gerendert. Externe Bildpfade müssen absolute URLs sein oder von dem Server aus zugänglich sein, auf dem IronPDF läuft.

Siehe das Codebeispiel für Kopf- und Fußzeilen für zusätzliche Seriendruckfeldoptionen und Verhalten über mehrere Seiten.

Wie Wende Ich Ein Wasserzeichen Auf Ein PDF In Java An?

IronPDF wendet Wasserzeichen an, indem HTML-Inhalte auf vorhandene PDF-Seiten gestempelt werden. Dieser Ansatz bietet volle Kontrolle über Positionierung, Transparenz und Gestaltung.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
JAVA

Die applyStamp-Methode akzeptiert Standard-HTML/CSS. Die Verwendung einer halbtransparenten Farbe rgba für den Text stellt sicher, dass das Wasserzeichen sichtbar ist, ohne den darunterliegenden Dokumentinhalt zu verdecken.

Für bildbasierte Wasserzeichen oder Wasserzeichen, die auf bestimmte Seitenbereiche angewendet werden, siehe den Anleitung für benutzerdefinierte Wasserzeichen in Java.

Wie komprimiere ich eine PDF-Datei in Java?

Für PDF-Dateien, die Bilder enthalten, kann IronPDF die Dateigröße verringern, indem eingebettete Bilder auf eine niedrigere Auflösung neu abgetastet werden. Verwenden Sie compressImages in einem bestehenden PdfDocument.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
JAVA

Der Qualitätsparameter ist eine Ganzzahl von 1 bis 100, wobei 100 die volle Bildqualität beibehält und niedrigere Werte die Dateigröße auf Kosten der Bildtreue verringern. Ein Wert von 60 bis 80 bietet für die meisten Geschäftsdokumente einen praktischen Ausgleich zwischen Größe und visueller Qualität.

WarnungDie Bildkompression ist destruktiv. Die originalen Bilddaten können aus einem komprimierten PDF nicht wiederhergestellt werden. Bewahren Sie immer die Quelldatei auf, wenn die Originalqualität später benötigt wird.

Siehe das Beispiel für PDF-Kompression für weitere Details zu Bildqualitätsgrenzen.

Nächste Schritte

Dieses Tutorial behandelte die drei HTML-zu-PDF-Konvertierungsmethoden (String, URL und Datei) sowie die Seitengröße, Ränder, Kopf- und Fußzeilen, Wasserzeichen und Komprimierung. Dies sind die häufigsten PDF-Formatierungsoperationen for Java-Serveranwendungen.

Um mit IronPDF for Java weiterzugehen:

Starten Sie eine kostenlose Testversion um PDFs ohne Wasserzeichen zu erstellen oder sehen Sie sich die Lizenzierungsoptionen an um IronPDF in ein Produktionsprojekt einzufügen.


Tutorial Schnellzugriff

IronPDF for Java IntelliJ Projekt-Herunterladen

Dieses Tutorial als Java-Quellcode herunterladen

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

Herunterladen

Entdecken Sie dieses Tutorial auf GitHub

Der Quellcode für dieses Projekt ist auf GitHub als IntelliJ IDEA-Projekt verfügbar, das auch in Eclipse oder andere Java-IDEs importiert werden kann.

IronPDF for Java Format-pdfs-Beispiele
GitHub-Repository für den IronPDF Java-Tutorial-Quellcode
IronPDF Java API-Referenzdokumentation

Sehen Sie sich die API-Referenz an

Entdecken Sie die API-Referenz für IronPDF for Java, die alle Details zu Klassen, Methoden, Feldern und Enumerationen im com.ironsoftware.ironpdf-Paket abdeckt.

Sehen Sie die IronPDF Java API-Referenz

Häufig gestellte Fragen

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

Verwenden Sie PdfDocument.renderHtmlAsPdf(String html) aus der IronPDF for Java-Bibliothek. Geben Sie Ihr HTML-Markup als String-Argument weiter und rufen Sie saveAs auf dem zurückgegebenen PdfDocument-Objekt auf, um die Datei auf der Festplatte zu schreiben.

Wie füge ich IronPDF zu einem Maven-Projekt hinzu?

Fügen Sie das com.ironsoftware:ironpdf Artefakt zum -Abschnitt Ihrer pom.xml-Datei hinzu. Fügen Sie auch eine SLF4J-Implementierung wie org.slf4j:slf4j-simple hinzu, um Logging zu aktivieren. Führen Sie mvn install aus, um beide Artefakte herunterzuladen.

Wie lege ich die Seitengröße eines mit IronPDF for Java erstellten PDFs fest?

Erstellen Sie ein ChromePdfRenderOptions-Objekt und rufen Sie setPaperSize(PaperSize.A4) (oder eine andere Konstante) auf. Geben Sie das Optionsobjekt als zweiten Parameter an renderHtmlAsPdf weiter. Für nicht standardmäßige Abmessungen verwenden Sie setCustomPaperSizeInMillimeters.

Wie füge ich einem PDF in Java einen Header und Footer hinzu?

Verwenden Sie TextHeaderFooter für reinen Text in Kopf- und Fußzeilen oder HtmlHeaderFooter für vollständig gestalteten HTML-Inhalt. Konfigurieren Sie das Objekt mit Text oder HTML, setzen Sie es auf einer ChromePdfRenderOptions-Instanz mit setTextHeader oder setHtmlHeader und übergeben Sie die Optionen an die Render-Methode.

Wie wende ich ein Wasserzeichen auf ein PDF mit IronPDF for Java an?

Rufen Sie applyStamp(String htmlFragment) auf einem vorhandenen PdfDocument auf. Geben Sie einen HTML-String an, der das Erscheinungsbild des Wasserzeichens definiert, unter Verwendung von CSS position:absolute, transform:rotate und einer halbtransparenten rgba-Farbe, um Text zu überlagern, ohne den darunterliegenden Inhalt zu verdecken.

Kann IronPDF for Java eine Webseite in ein PDF konvertieren?

Ja. Rufen Sie PdfDocument.renderUrlAsPdf(String url) mit der URL der Seite auf. IronPDF verwendet eine Chromium-Rendering-Engine, um die Seite abzurufen und auszuführen, einschließlich JavaScript, bevor das PDF-Ergebnis generiert wird.

Wie entferne ich das IronPDF-Wasserzeichen von generierten PDFs?

Rufen Sie License.setLicenseKey("YOUR-LICENSE-KEY") vor einer PDF-Operation auf. Das Wasserzeichen wird bei PDFs angewendet, die ohne gültigen Lizenzschlüssel erstellt wurden. Sie können eine Lizenz oder einen kostenlosen Testschlüssel unter ironpdf.com/java/licensing/ erhalten.

Wie komprimiere ich eine PDF-Datei mit IronPDF for Java?

Laden Sie das PDF mit PdfDocument.fromFile, und rufen Sie dann compressImages(int quality) mit einem Wert von 1 bis 100 auf. Niedrigere Werte reduzieren die Dateigröße, indem eingebettete Bilder in niedrigerer Auflösung neu abgetastet werden. Rufen Sie saveAs auf, um die komprimierte Datei zu speichern.

Unterstützt IronPDF for Java benutzerdefinierte Seitenränder?

Ja. Verwenden Sie ChromePdfRenderOptions und rufen Sie setMarginTop, setMarginBottom, setMarginLeft und setMarginRight mit Werten in Millimetern auf. Übergeben Sie die Optionen an die Render-Methode, um die Ränder anzuwenden.

Welche Java-Versionen unterstützt IronPDF?

IronPDF for Java unterstützt Java 8 und höher. Die Bibliothek ist als Maven-Artefakt unter com.ironsoftware:ironpdf und als eigenständiger Fat-JAR-Download von ironpdf.com/java/ verfügbar.

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.