HTML zu PDF in Java
IronPDF for Java konvertiert HTML-Inhalte in PDF-Dokumente, indem es eine vollständige Chromium-Rendering-Engine ausführt — dieselbe Engine, die moderne Browser antreibt. Jede CSS-Eigenschaft, Schriftart, Bild und von JavaScript generiertes Layout rendert genau so, wie es in einem Browserfenster erscheinen würde, und landet dann als pixelgenaues PDF auf der Seite.
Dieses Tutorial führt durch die drei grundlegenden Konvertierungsmethoden: HTML-String zu PDF, Live-URL zu PDF und lokale HTML-Datei zu PDF. Es behandelt auch die Installation, Lizenzkonfiguration und die Rendering-Optionen, die Entwickler am häufigsten verwenden.
Die Java-Bibliothek spiegelt die API-Struktur von IronPDF for .NET wider, sodass Teams, die an beiden Laufzeitsystemen arbeiten, den Übergang einfach finden werden. Der Quellcode für alle Beispiele in diesem Tutorial ist auf GitHub verfügbar.
Schnellstart: HTML zu PDF in Java konvertieren
Fügen Sie IronPDF zu Ihrem Maven pom.xml hinzu und rufen Sie dann eine einzige Methode auf, um ein PDF zu erstellen:
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/quickstart.java
import com.ironsoftware.ironpdf.*;
// Set your license key before any rendering calls
License.setLicenseKey("YOUR-LICENSE-KEY");
// Convert an HTML string to a PDF and save it
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF for Java!</h1>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/quickstart.java
import com.ironsoftware.ironpdf.*;
// Set your license key before any rendering calls
License.setLicenseKey("YOUR-LICENSE-KEY");
// Convert an HTML string to a PDF and save it
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF for Java!</h1>");
pdf.saveAs("output.pdf");
Nutzen Sie IronPDF heute kostenlos in Ihrem Projekt.
Inhaltsverzeichnis
- IronPDF for Java installieren
- Wie importiere ich IronPDF und konfiguriere einen Lizenzschlüssel?
- Wie konvertiere ich einen HTML-String in ein PDF?
- Wie konvertiere ich eine URL in ein PDF in Java?
- Wie konvertiere ich eine lokale HTML-Datei in ein PDF?
- Wie setze ich PDF-Generierungseinstellungen?
- Wie füge ich Kopf- und Fußzeilen hinzu?
- Wie setze ich Seitenränder und Papiergröße?
- Wie wende ich ein Wasserzeichen auf ein PDF an?
- Wie füge ich mehrere PDFs zu einem zusammen?
- Wie füge ich Seiten zu einem PDF hinzu oder entferne sie?
- Wie schütze ich ein PDF in Java mit einem Passwort?
- Wie konvertiere ich eine HTML-Vorlage mit dynamischen Daten?
- Wie extrahiere ich Text aus einem PDF in Java?
- Wie komprimiere ich eine PDF-Datei?
- Nächste Schritte
Installation von IronPDF for Java
IronPDF for Java wird über Maven Central und als eigenständiges JAR ausgeliefert. Der Maven-Weg wird für die meisten Projekte empfohlen, da er transitive Abhängigkeiten verwaltet und Bibliotheksversionen auf Entwicklermaschinen und CI-Pipelines konsistent hält.
Option 1: Fügen Sie IronPDF als Maven-Abhängigkeit hinzu
Öffnen Sie die Datei pom.xml des Projekts und fügen Sie die folgenden Einträge in den Block <dependencies> ein:
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/maven-dependency.xml
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>[LATEST_VERSION]</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>[LATEST_VERSION]</version>
</dependency>
</dependencies>
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/maven-dependency.xml
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>[LATEST_VERSION]</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>[LATEST_VERSION]</version>
</dependency>
</dependencies>
Das erste Artefakt bezieht die neueste IronPDF for Java-Veröffentlichung. Das zweite Artefakt aktiviert SLF4J-Logging, sodass die IronPDF-Render-Engine während der Ausführung Diagnosemeldungen schreiben kann. Entwickler, die Logback oder Log4J bevorzugen, können diesen Anbieter stattdessen verwenden. Die Protokollierungsabhängigkeit ist optional — weglassen, wenn Protokolle nicht benötigt werden.
Führen Sie nach dem Speichern der Datei mvn install aus dem Stammverzeichnis des Projekts aus, um beide Bibliotheken herunterzuladen. Maven löst den vollständigen Abhängigkeitsgraphen automatisch auf, einschließlich aller transitive Abhängigkeiten, die IronPDF erfordert.
Für Gradle-Projekte lautet die entsprechende Abhängigkeitsdeklaration in build.gradle:
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/gradle-dependency.java
// build.gradle (Groovy DSL)
// dependencies {
// implementation 'com.ironsoftware:ironpdf:[LATEST_VERSION]'
// implementation 'org.slf4j:slf4j-simple:[LATEST_VERSION]'
// }
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/gradle-dependency.java
// build.gradle (Groovy DSL)
// dependencies {
// implementation 'com.ironsoftware:ironpdf:[LATEST_VERSION]'
// implementation 'org.slf4j:slf4j-simple:[LATEST_VERSION]'
// }
Ersetzen Sie [LATEST_VERSION] durch die Versionsnummer aus dem IronPDF-Changelog oder von der Maven Central-Seite für das Artefakt.
Option 2: Die JAR-Datei manuell hinzufügen
Laden Sie die IronPDF-JAR direkt von Maven Central herunter und fügen Sie sie dem Klassenpfad des Projekts hinzu. Dieser Ansatz funktioniert ohne ein Build-Tool, erfordert jedoch eine manuelle Versionsverwaltung und eignet sich am besten für ältere Projekte, die Maven oder Gradle nicht verwenden, oder für Umgebungen, in denen der Zugriff auf das Netzwerk eingeschränkt ist.
Nach dem Herunterladen die JAR zum Klassenpfad des Projekts über die Projekteinstellungen der IDE hinzufügen. In IntelliJ IDEA klicken Sie mit der rechten Maustaste auf das Projektstammverzeichnis, wählen Sie "Moduleinstellungen öffnen", navigieren Sie zu "Abhängigkeiten" und fügen Sie die JAR-Datei hinzu. In Eclipse klicken Sie mit der rechten Maustaste auf das Projekt, gehen Sie zu "Eigenschaften > Java-Build-Pfad > Bibliotheken" und klicken Sie dann auf "Externe JARs hinzufügen".
Systemanforderungen
IronPDF for Java läuft auf JDK 8 oder höher. Es unterstützt Windows, Linux und macOS auf sowohl x86-64- als auch ARM64-Architekturen. Keine externe Browserinstallation erforderlich — das Chromium-Binary ist mit der JAR gebündelt. Auf Linux stellen Sie sicher, dass die von Chromium erwarteten standardmäßigen Shared Libraries vorhanden sind. Die IronPDF for Java-Dokumentation listet die minimal erforderlichen Pakete für gängige Linux-Distributionen auf.
Wie importiere ich IronPDF und konfiguriere einen Lizenzschlüssel?
Jede IronPDF-Klasse befindet sich im Paket com.ironsoftware.ironpdf. Importieren Sie es am Anfang jeder Quelldatei, die PDF-Dokumente erstellen oder bearbeiten wird.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/import-and-license.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Apply your license key before any other IronPDF calls
License.setLicenseKey("YOUR-LICENSE-KEY");
// Optional: set a custom log file path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/import-and-license.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Apply your license key before any other IronPDF calls
License.setLicenseKey("YOUR-LICENSE-KEY");
// Optional: set a custom log file path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
Ohne Lizenzschlüssel läuft IronPDF im Testmodus und versieht jede PDF-Seite mit einem gekachelten Wasserzeichen. Das Festlegen des Schlüssels entfernt das Wasserzeichen und schaltet alle Funktionen frei. Starten Sie eine kostenlose Testversion, um sofort einen Schlüssel zu erhalten.

Der Lizenzschlüssel ist eine Zeichenfolge, die von Iron Software ausgestellt wird, wenn eine Test- oder kommerzielle Lizenz aktiviert wird. Speichern Sie es in einer Umgebungsvariable oder einer Konfigurationsdatei anstatt es hardzucodieren. Ein gängiges Muster ist, es beim Start aus einer Umgebungsvariable zu lesen:
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/license-from-env.java
import com.ironsoftware.ironpdf.*;
// Read the license key from an environment variable
String licenseKey = System.getenv("IRONPDF_LICENSE_KEY");
if (licenseKey != null && !licenseKey.isEmpty()) {
License.setLicenseKey(licenseKey);
}
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/license-from-env.java
import com.ironsoftware.ironpdf.*;
// Read the license key from an environment variable
String licenseKey = System.getenv("IRONPDF_LICENSE_KEY");
if (licenseKey != null && !licenseKey.isEmpty()) {
License.setLicenseKey(licenseKey);
}
Dieser Ansatz hält den Schlüssel aus der Versionskontrolle heraus und macht es einfach, unterschiedliche Schlüssel in Entwicklungs-, Test- und Produktionsumgebungen zu verwenden.
License.setLicenseKey und Settings.setLogPath müssen beide vor jeder Rendering- oder Manipulationsmethode aufgerufen werden. Platzieren Sie sie beim Start der Anwendung – idealerweise in einem statischen Initialisierungsblock oder einem main-Einstiegspunkt.Wie konvertiere ich einen HTML-String zu PDF?
PdfDocument.renderHtmlAsPdf akzeptiert eine Zeichenfolge mit HTML-Markup und gibt ein PdfDocument-Objekt zurück, das vor dem Speichern auf der Festplatte gespeichert, zusammengeführt oder geändert werden kann. Dies ist die primäre Methode zum programmgesteuerten Generieren von HTML — zum Beispiel Berichte, die durch das Kombinieren von Datenbankwerten mit einer als Java-String definierten HTML-Vorlage erstellt werden oder aus einer Datei geladen werden.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Simple one-liner: convert an HTML string to a PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Simple one-liner: convert an HTML string to a PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
pdf.saveAs("htmlstring_to_pdf.pdf");
Der Render-Engine löst relative Asset-Pfade (Bilder, Stylesheets, Skripte) gegen das optionale zweite Argument — den Basispfad auf. Wenn ein Basispfad angegeben wird, behandelt die Engine ihn als Wurzel, von der relative URLs aufgelöst werden. Dies ermöglicht HTML, das auf lokale CSS- und Bilddateien verweist, korrekt zu rendern, ohne irgendeine Pfadmanipulation im Quellmarkup.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-with-assets.java
import com.ironsoftware.ironpdf.*;
// HTML references assets in a local "assets" subfolder
String html = "<html>" +
"<head><link rel='stylesheet' href='assets/style.css'></head>" +
"<body><h1>Invoice</h1><img src='assets/logo.png' /></body>" +
"</html>";
// Pass the base path so IronPDF resolves relative asset URLs
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/my-project/templates");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-with-assets.java
import com.ironsoftware.ironpdf.*;
// HTML references assets in a local "assets" subfolder
String html = "<html>" +
"<head><link rel='stylesheet' href='assets/style.css'></head>" +
"<body><h1>Invoice</h1><img src='assets/logo.png' /></body>" +
"</html>";
// Pass the base path so IronPDF resolves relative asset URLs
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/my-project/templates");
pdf.saveAs("invoice.pdf");
Die Methode saveAs akzeptiert einen absoluten oder relativen Pfad. Die Bibliothek erstellt die Datei, wenn sie nicht existiert, und überschreibt sie, wenn sie existiert. Wenn Sie in ein Verzeichnis schreiben, das die Anwendung möglicherweise noch nicht erstellt hat, erstellen Sie das Verzeichnis zunächst mit Files.createDirectories(Paths.get("output")), bevor Sie saveAs aufrufen.
IronPDF unterstützt den vollständigen HTML5- und CSS3-Funktionsumfang, wie er in Chromium implementiert ist. Benutzerdefinierte Schriftarten, die über @font-face in CSS geladen werden, werden korrekt dargestellt, wenn die Schriftartdateien im Basispfad verfügbar sind. SVG-Elemente und <canvas>-Elemente, die von JavaScript gerendert werden, erscheinen ebenfalls in der PDF-Ausgabe.
Wie konvertiere ich eine URL in ein PDF in Java?
PdfDocument.renderUrlAsPdf ruft die Seite unter der angegebenen URL ab, wartet, bis JavaScript ausgeführt und dynamischer Inhalt geladen ist, und konvertiert dann das vollständig gerenderte DOM in eine PDF-Datei.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a live web page to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("wikipedia_pdf_article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a live web page to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("wikipedia_pdf_article.pdf");
Die Engine verarbeitet Authentifizierungsheader, Cookies und JavaScript-intensive Single-Page-Applikationen. Verwenden Sie für Seiten, die eine Anmeldung oder benutzerdefinierte Request-Header erfordern, die Klasse ChromePdfRenderOptions, um die Request-Parameter zu konfigurieren, bevor Sie renderUrlAsPdf aufrufen.
Diese Konvertierungsmethode ist nützlich zum Archivieren von Webseiten, Erstellen von Compliance-Snapshots und Erzeugen von kundenorientierten Berichten aus internen Dashboards. Über ein lokales Netzwerk aufgerufene, vom Server generierte Seiten werden vollständig unterstützt – übergeben Sie http://localhost:8080/report/123 auf dieselbe Weise wie eine öffentliche URL. IronPDF wartet darauf, dass die Seite vollständig geladen ist, bevor sie gerendert wird, sodass Dashboards, die auf asynchrone Datenabrufe angewiesen sind, mit ihren Daten gefüllt gerendert werden, anstatt mit leeren Diagrammen.
Für Seiten hinter einer HTTP-Basisauthentifizierung übermitteln Sie die Anmeldedaten in der URL im Format http://user:password@host/path. Für Seiten, die durch Sitzungscookies geschützt sind, konfigurieren Sie den Cookie-Speicher im Objekt ChromePdfRenderOptions, bevor Sie ihn an renderUrlAsPdf übergeben. Weitere Einzelheiten zur Konfiguration von Anfrage-Headern und zur Verwaltung von Cookies für authentifizierte URLs finden Sie in der IronPDF for Java-Dokumentation.
Wie konvertiere ich eine lokale HTML-Datei in PDF?
PdfDocument.renderHtmlFileAsPdf liest eine HTML-Datei aus dem lokalen Dateisystem und rendert sie als PDF. Alle verlinkten Assets (CSS, JavaScript, Bilder), die durch relative Pfade in der Datei referenziert werden, werden relativ zum Verzeichnis der HTML-Datei aufgelöst.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file — assets resolve relative to its directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file — assets resolve relative to its directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
Dieser Ansatz ist am genauesten für die Konvertierung komplexer HTML-Dokumente. Da die Render-Engine auf dem Dateisystempfad statt einem In-Memory-String operiert, werden relative Verweise auf mehrstufige Assetverzeichnisse ohne zusätzliche Konfiguration aufgelöst. Eine Vorlage, die auf style.css und script.js im selben Ordner basiert, wird ohne Anpassungen des Pfads korrekt gerendert.
Diese Methode eignet sich besonders gut für die Erstellung von Rechnungen, die Produktion von Verträgen und jeder Workflow, bei dem ein Designer die HTML-Vorlage unabhängig von der Java-Anwendung pflegt. Das Entwicklungsteam behandelt die Vorlage als Datendatei, speichert sie zusammen mit der Anwendung und ruft renderHtmlFileAsPdf mit dem Pfad auf. Wenn der Designer die Vorlage aktualisiert, um Branding oder Layout zu ändern, sind keine Änderungen am Java-Code erforderlich.
Wie stelle ich Optionen für die PDF-Erstellung ein?
ChromePdfRenderOptions steuert das Darstellungsverhalten: Papierformat, Ränder, Zoom-Stufe, Druckmedientyp, JavaScript-Timeout und mehr. Erstellen Sie eine Instanz, konfigurieren Sie die gewünschten Eigenschaften und übergeben Sie diese als zweites Argument an eine beliebige render*AsPdf-Methode.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Render the page using the print media type (uses @media print CSS rules)
options.setCssMediaType(CssMediaType.PRINT);
// Wait up to 5 seconds for JavaScript to finish executing
options.setJavaScriptTimeout(5000);
// Apply a 1.5x zoom level to scale content to fit the page
options.setZoom(150);
// Render at 150 DPI for sharper images in print output
options.setDpi(150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Styled Report</h1>",
options
);
pdf.saveAs("styled_report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Render the page using the print media type (uses @media print CSS rules)
options.setCssMediaType(CssMediaType.PRINT);
// Wait up to 5 seconds for JavaScript to finish executing
options.setJavaScriptTimeout(5000);
// Apply a 1.5x zoom level to scale content to fit the page
options.setZoom(150);
// Render at 150 DPI for sharper images in print output
options.setDpi(150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Styled Report</h1>",
options
);
pdf.saveAs("styled_report.pdf");
Die Einstellung CssMediaType.PRINT weist die Engine an, @media print CSS-Regeln anzuwenden, die viele HTML-Vorlagen nutzen, um Navigationsleisten auszublenden und PRINT-spezifische Layouts anzuwenden. Die setJavaScriptTimeout-Methode ist wichtig für Seiten, die JavaScript-Diagrammbibliotheken (D3.js, Chart.js) oder Lazy-Loading-Inhalte verwenden – wenn das Zeitlimit zu kurz ist, erfasst das PDF die Seite, bevor JavaScript die Darstellung abgeschlossen hat, was zu leeren Diagrammen oder fehlenden Abschnitten führt. Verlängern Sie das Zeitlimit, wenn der gerenderte PDF-Inhalte fehlen.
Die Methode setDpi steuert die Bildauflösung in der Ausgabe. Der Standardwert (96 DPI) ist für On-Screen-Dokumente geeignet. Für PDFs, die gedruckt oder auf hochauflösenden Displays angezeigt werden, verwenden Sie 150 oder 300 DPI. Höhere DPI-Werte erhöhen die Dateigröße proportional. Siehe das Beispiele für PDF-Erstellungseinstellungen für die vollständige Liste der konfigurierbaren Eigenschaften.
Wie füge ich Kopf- und Fußzeilen hinzu?
IronPDF unterstützt sowohl textbasierte als auch HTML-basierte Kopf- und Fußzeilen. Textüberschriften verwenden ein TextHeaderFooter-Objekt mit Format-Tokens ({page}, {total-pages}, {date}), die beim Rendern automatisch aufgelöst werden.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
// Create a text-based header and footer
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Confidential — {date}");
header.setFontSize(10);
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("My Company, Inc.");
footer.setRightText("Page {page} of {total-pages}");
footer.setFontSize(9);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1>");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
// Create a text-based header and footer
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Confidential — {date}");
header.setFontSize(10);
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("My Company, Inc.");
footer.setRightText("Page {page} of {total-pages}");
footer.setFontSize(9);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1>");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
Die Tokens {page} und {total-pages} erzeugen Werte wie "3 von 12" in der Fußzeile und werden automatisch aktualisiert, wenn sich die Seitenzahl ändert, sodass die endgültige Seitenzahl vor der Darstellung nicht bekannt sein muss. Das Token {date} fügt das aktuelle Datum unter Verwendung der System-Lokalisierung ein. Weitere verfügbare Tokens sind {time}, {document-title} und {url}.
Kopf- und Fußzeilen, die mit addTextHeaders und addTextFooters hinzugefügt wurden, gelten standardmäßig für jede Seite im Dokument. Geben Sie das optionale Seitenbereichsparameter an, um sie auf bestimmte Seiten zu beschränken — zum Beispiel, um die Kopfzeile auf der Titelseite zu überspringen.
Für formatierte Überschriften, die Logos, Markenfarben oder benutzerdefinierte Layouts erfordern, verwenden Sie stattdessen HtmlHeaderFooter – dieser akzeptiert eine vollständige HTML-Zeichenkette und rendert sie genauso wie den Seitenkörper. Sehen Sie sich das Beispiel für benutzerdefinierte Kopf- und Fußzeilen für das vollständige HTML-Kopfzeilenmuster an.
Wie stelle ich Seitenränder und Papierformate ein?
Übergeben Sie eine ChromePdfRenderOptions-Instanz mit konfigurierten Werten für Rand und Papierformat, bevor Sie eine render*AsPdf-Methode aufrufen.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/margins-paper-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set uniform margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
// Use A4 paper (default is Letter)
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Page content here.</p>", options);
pdf.saveAs("a4_with_margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/margins-paper-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set uniform margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
// Use A4 paper (default is Letter)
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Page content here.</p>", options);
pdf.saveAs("a4_with_margins.pdf");
Randwerte sind in Millimetern. Die Enumeration PaperSize umfasst Standardformate (A4, Letter, Legal, A3 und andere). Entwickler, die nicht standardmäßige Abmessungen benötigen, können mithilfe von options.setCustomPaperWidth und options.setCustomPaperHeight eine benutzerdefinierte Breite und Höhe festlegen. Das Beispiel für benutzerdefinierte Papierformate und das Beispiel für benutzerdefinierte Ränder zeigen die vollständigen Konfigurationsmuster.
Wie wende ich ein Wasserzeichen auf ein PDF an?
Ein Wasserzeichen in IronPDF ist HTML, das über jede Seite mit einstellbarer Deckkraft gestempelt wird. Dieser Ansatz gibt Entwicklern vollständige Kontrolle über das Erscheinungsbild des Wasserzeichens — jedes HTML-Element, Bild oder gestalteter Text kann als Stempel dienen.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1><p>Internal use only.</p>");
// Define the watermark using an HTML string
String watermarkHtml = "<h1 style='color:rgba(200,0,0,0.3); transform:rotate(-45deg);'>DRAFT</h1>";
// Stamp the watermark on all pages at 50% opacity
pdf.applyStamp(watermarkHtml);
pdf.saveAs("draft_watermark.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1><p>Internal use only.</p>");
// Define the watermark using an HTML string
String watermarkHtml = "<h1 style='color:rgba(200,0,0,0.3); transform:rotate(-45deg);'>DRAFT</h1>";
// Stamp the watermark on all pages at 50% opacity
pdf.applyStamp(watermarkHtml);
pdf.saveAs("draft_watermark.pdf");
Die applyStamp-Methode akzeptiert einen HtmlStampOptions-Parameter für die präzise Positionierung – zentriert, oben links, benutzerdefinierte Pixel-Offsets und z-Index (Vordergrund oder Hintergrund). Das Festlegen des Stempels als Hintergrund platziert es hinter dem Text, sodass das Dokument lesbar bleibt. Das Festlegen als Vordergrund platziert es oben, was beim Drucken schwerer zu überdecken ist.
Sehen Sie sich die Anleitung für benutzerdefinierte Wasserzeichen für Beispiele zur Hintergrundwasserzeichen, zu gekachelten Mustern und zum Entfernen von Wasserzeichen durch Upgrade auf die Lizenz an.
Wie füge ich mehrere PDFs zu einem zusammen?
PdfDocument.merge kombiniert zwei oder mehr PdfDocument-Objekte in der angegebenen Reihenfolge und gibt ein einziges neues Dokument zurück. Dies ist der bevorzugte Ansatz zum Erstellen von Berichten aus Komponentenabschnitten, Anfügen von Deckblättern oder Zusammenfügen von benutzerspezifischen Abschnitten eines Batch-Jobs.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/merge-pdfs.java
import com.ironsoftware.ironpdf.*;
import java.util.Arrays;
import java.util.List;
// Render two separate HTML documents into PDFs
PdfDocument cover = PdfDocument.renderHtmlAsPdf("<h1>Cover Page</h1>");
PdfDocument body = PdfDocument.renderHtmlAsPdf("<h1>Report Body</h1><p>Section one...</p>");
PdfDocument appendix = PdfDocument.renderHtmlAsPdf("<h2>Appendix A</h2>");
// Merge all three into a single PDF in the specified order
List<PdfDocument> parts = Arrays.asList(cover, body, appendix);
PdfDocument merged = PdfDocument.merge(parts);
merged.saveAs("full_report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/merge-pdfs.java
import com.ironsoftware.ironpdf.*;
import java.util.Arrays;
import java.util.List;
// Render two separate HTML documents into PDFs
PdfDocument cover = PdfDocument.renderHtmlAsPdf("<h1>Cover Page</h1>");
PdfDocument body = PdfDocument.renderHtmlAsPdf("<h1>Report Body</h1><p>Section one...</p>");
PdfDocument appendix = PdfDocument.renderHtmlAsPdf("<h2>Appendix A</h2>");
// Merge all three into a single PDF in the specified order
List<PdfDocument> parts = Arrays.asList(cover, body, appendix);
PdfDocument merged = PdfDocument.merge(parts);
merged.saveAs("full_report.pdf");
Die Seiten aus jedem Quelldokument erscheinen in der zusammengeführten Ausgabe in der Reihenfolge, die die Quellliste angibt. Das zusammengeführte Dokument übernimmt keine Metadaten aus einer einzelnen Quelle – aktualisieren Sie meta.title und andere Dokumenteigenschaften nach dem Zusammenführen mit PdfDocument.getPdfMetaData(), falls diese Felder für den nachgelagerten Nutzer von Bedeutung sind.
Die Methode merge verfügt außerdem über eine Überladung mit zwei Argumenten, die genau zwei PdfDocument-Instanzen akzeptiert. Für Massen-Zusammenführungen vieler Dokumente verwenden Sie die Listenüberladung — sie ist effizienter als das Aneinanderreihen mehrerer Zwei-Argument-Aufrufe, da sie alle Quellen in einem einzigen Durchgang verarbeitet.
PdfDocument in der Merge-Liste bleibt nach dem Aufruf gültig und unverändert. Die Instanz merged ist ein neues, eigenständiges Dokument. Geben Sie Quelldokumente mit ihrer close()-Methode frei, wenn sie nicht mehr benötigt werden, um die zugehörigen nativen Ressourcen freizugeben.Wie füge ich Seiten zu einem PDF hinzu oder entferne sie daraus?
Einzelne Seiten können mithilfe der Methoden PdfDocument.copyPage, PdfDocument.copyPages und PdfDocument.removePages aus einem Dokument in ein anderes kopiert oder direkt gelöscht werden.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/page-operations.java
import com.ironsoftware.ironpdf.*;
import java.util.Arrays;
// Generate a multi-page document using CSS page breaks
PdfDocument report = PdfDocument.renderHtmlAsPdf(
"<p>Page 1 content</p>" +
"<div style='page-break-after:always;'></div>" +
"<p>Page 2 content</p>" +
"<div style='page-break-after:always;'></div>" +
"<p>Page 3 content</p>"
);
// Remove page 2 (zero-indexed — page index 1)
report.removePages(Arrays.asList(1));
// Save the two-page result
report.saveAs("two_page_report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/page-operations.java
import com.ironsoftware.ironpdf.*;
import java.util.Arrays;
// Generate a multi-page document using CSS page breaks
PdfDocument report = PdfDocument.renderHtmlAsPdf(
"<p>Page 1 content</p>" +
"<div style='page-break-after:always;'></div>" +
"<p>Page 2 content</p>" +
"<div style='page-break-after:always;'></div>" +
"<p>Page 3 content</p>"
);
// Remove page 2 (zero-indexed — page index 1)
report.removePages(Arrays.asList(1));
// Save the two-page result
report.saveAs("two_page_report.pdf");
Seitenindizes in IronPDF sind nullbasiert. Wenn Sie mehrere Seiten entfernen, übergeben Sie alle Indizes in einem einzigen removePages-Aufruf, anstatt diesen mehrfach in einer Schleife aufzurufen, da jede Entfernung die Indizes der nachfolgenden Seiten verschiebt. Das Übergeben der gesamten Liste auf einmal vermeidet Index-Abweichungen. Um beispielsweise die Seiten 2 und 4 aus einem fünfseitigen Dokument zu entfernen, übergeben Sie Arrays.asList(1, 3) – nicht zwei separate Aufrufe.
Um Seiten aus einer externen PDF-Datei einzufügen – beispielsweise um einen rechtlichen Hinweis aus einer statischen Vorlage anzuhängen – verwenden Sie PdfDocument.insertPdf, um das externe Dokument an einer bestimmten Stelle einzufügen. Die Seitenanzahl des empfangenden Dokuments wird sofort nach dem Einfügen aktualisiert.
Die CSS-Eigenschaft css page-break-after:always ist die Standardmethode, um Seitenumbrüche in HTML zu erzwingen, das in PDF gerendert wird. IronPDF unterstützt auch die neuere break-after: page CSS-Eigenschaft. Beide Ansätze produzieren vorhersehbare Seitenumbrüche, ohne spezielle Java-Codes erforderlich zu machen.
Wie schütze ich ein PDF in Java mit einem Passwort?
IronPDF unterstützt zwei unterschiedliche Passwörter auf einem PDF: ein Eigentümer-Passwort, das Bearbeitungs-, Druck- und Kopierberechtigungen steuert, und ein Benutzer-Passwort, das das Öffnen des Dokuments regelt. Beide werden über die Klasse SecurityOptions festgelegt.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/password-protect.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.security.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Secure Document</h1>");
SecurityOptions security = new SecurityOptions();
// Require a password to open the document
security.setUserPassword("user123");
// Require a separate password to edit, print, or copy content
security.setOwnerPassword("owner456");
// Restrict printing to prevent unauthorized reproduction
security.setAllowUserPrinting(PrintOptions.FullPrintQuality);
PdfSecurityManager securityManager = new PdfSecurityManager(pdf);
securityManager.setSecurityOptions(security);
pdf.saveAs("secure_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/password-protect.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.security.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Secure Document</h1>");
SecurityOptions security = new SecurityOptions();
// Require a password to open the document
security.setUserPassword("user123");
// Require a separate password to edit, print, or copy content
security.setOwnerPassword("owner456");
// Restrict printing to prevent unauthorized reproduction
security.setAllowUserPrinting(PrintOptions.FullPrintQuality);
PdfSecurityManager securityManager = new PdfSecurityManager(pdf);
securityManager.setSecurityOptions(security);
pdf.saveAs("secure_document.pdf");
Die Einstellung AllowUserPrinting akzeptiert eine PrintOptions-Enumeration: FullPrintQuality, LowQualityPrint oder NoPrint. Wenn das Eigentümer-Passwort gesetzt ist, aber das Benutzer-Passwort leer bleibt, öffnet sich das Dokument ohne Passwort, aber Bearbeitung und andere Vorgänge erfordern das Eigentümer-Passwort in einem PDF-Editor.
Wie konvertiere ich eine HTML-Vorlage mit dynamischen Daten?
Die Generierung von PDFs aus einer datengesteuerten HTML-Vorlage ist einer der häufigsten Produktionsanwendungsfälle für IronPDF. Der Standardansatz besteht darin, die HTML-Zeichenkette in Java mithilfe einer Template-Bibliothek oder Zeichenfolgenoperationen zu erstellen und die fertige Zeichenkette dann an renderHtmlAsPdf zu übergeben.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/dynamic-template.java
import com.ironsoftware.ironpdf.*;
// Simulate data from a database or service layer
String customerName = "Acme Corp";
String invoiceNumber = "INV-20240501";
String totalAmount = "$1,250.00";
String dueDate = "2024-06-01";
// Build the HTML template with real data injected
String html = "<!DOCTYPE html><html><head>" +
"<style>body{font-family:Arial,sans-serif;margin:40px;}" +
"table{width:100%;border-collapse:collapse;}" +
"th,td{border:1px solid #ccc;padding:8px;text-align:left;}" +
"th{background:#f4f4f4;}</style></head><body>" +
"<h1>Invoice</h1>" +
"<p><strong>Customer:</strong> " + customerName + "</p>" +
"<p><strong>Invoice #:</strong> " + invoiceNumber + "</p>" +
"<table><tr><th>Description</th><th>Amount</th></tr>" +
"<tr><td>Professional Services</td><td>" + totalAmount + "</td></tr>" +
"</table>" +
"<p><strong>Due Date:</strong> " + dueDate + "</p>" +
"</body></html>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
pdf.saveAs(invoiceNumber + ".pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/dynamic-template.java
import com.ironsoftware.ironpdf.*;
// Simulate data from a database or service layer
String customerName = "Acme Corp";
String invoiceNumber = "INV-20240501";
String totalAmount = "$1,250.00";
String dueDate = "2024-06-01";
// Build the HTML template with real data injected
String html = "<!DOCTYPE html><html><head>" +
"<style>body{font-family:Arial,sans-serif;margin:40px;}" +
"table{width:100%;border-collapse:collapse;}" +
"th,td{border:1px solid #ccc;padding:8px;text-align:left;}" +
"th{background:#f4f4f4;}</style></head><body>" +
"<h1>Invoice</h1>" +
"<p><strong>Customer:</strong> " + customerName + "</p>" +
"<p><strong>Invoice #:</strong> " + invoiceNumber + "</p>" +
"<table><tr><th>Description</th><th>Amount</th></tr>" +
"<tr><td>Professional Services</td><td>" + totalAmount + "</td></tr>" +
"</table>" +
"<p><strong>Due Date:</strong> " + dueDate + "</p>" +
"</body></html>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
pdf.saveAs(invoiceNumber + ".pdf");
Für größere Projekte ziehen Sie eine Java-Template-Bibliothek wie Thymeleaf oder Freemarker in Betracht, um HTML-Vorlagen als separate Dateien zu verwalten, Daten über ein Kontextobjekt einzuspeisen und die Templatesyntax sauberer zu halten als String-Konkatenation. Beide Bibliotheken erzeugen eine einfache HTML-Zeichenkette, die direkt an renderHtmlAsPdf übergeben wird.
ChromePdfRenderOptions einmal vor der Schleife und verwenden Sie dieselbe Instanz für jeden Render-Aufruf. Das Erstellen eines neuen Optionsobjekts pro Aufruf erzeugt unnötigen Objektzuweisungsoverhead.Wie extrahiere ich Text aus einem PDF in Java?
PdfDocument.extractAllText liest den gesamten Textinhalt jeder Seite in einer PDF-Datei aus und gibt ihn als einzelne Zeichenkette zurück. Dies ist nützlich für die Suchindexierung, die Datenextraktion und die Inhaltsvalidierung nach dem Rendern.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/extract-text.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Open an existing PDF (or use the result of a render call)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("output.pdf"));
// Extract all text content as a plain string
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/extract-text.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Open an existing PDF (or use the result of a render call)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("output.pdf"));
// Extract all text content as a plain string
String text = pdf.extractAllText();
System.out.println(text);
Der zurückgegebene String behält die Lesereihenfolge des Textes auf jeder Seite bei, enthält jedoch keine Formatierung. Leerzeichen zwischen Spalten und Tabellenzellen werden als Leerzeichen dargestellt. Bei PDF-Dateien, die mehrere logische Abschnitte enthalten, isoliert extractTextFromPage(int pageIndex) den Text einer einzelnen Seite, was bei der Verarbeitung großer Dokumente Seite für Seite effizienter ist.
Die Textextraktion funktioniert nur bei PDF-Dateien, in denen Text als tatsächliche Textobjekte in der PDF-Struktur gespeichert ist – von renderHtmlAsPdf generierte PDF-Dateien erfüllen diese Voraussetzung immer. Gescanntedokumente, bei denen die Seiten Bilder sind, erfordern OCR, bevor die Textextraktion möglich ist. IronOCR ist eine ergänzende Iron Software-Bibliothek, die Java- und .NET-Anwendungen OCR-Fähigkeiten hinzufügt.
Verwenden Sie für die Bild-Extraktion pdf.extractAllImages(), das eine Liste von BufferedImage-Objekten zurückgibt, eines pro im Dokument gefundenem Bild. Weitere Informationen finden Sie im Beispiel zur Textextraktion aus einem PDF und im Beispiel zur Bildextraktion aus PDFs.
Wie komprimiere ich eine PDF-Datei?
PdfDocument.compressImages reduziert die Dateigröße durch Neukodierung eingebetteter Bilder in einer niedrigeren Qualität. Dies ist insbesondere effektiv für PDFs, die aus Webseiten mit großen Fotos oder Bannerbildern generiert wurden.
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/compress-pdf.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large_report.pdf"));
// Compress embedded images to 60% quality (0–100 scale)
pdf.compressImages(60);
pdf.saveAs("compressed_report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/compress-pdf.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large_report.pdf"));
// Compress embedded images to 60% quality (0–100 scale)
pdf.compressImages(60);
pdf.saveAs("compressed_report.pdf");
Qualitätswerte zwischen 50 und 75 reduzieren die Dateigröße typischerweise um 40–70% mit akzeptabler visueller Wiedergabetreue beim Bildschirmlesen. Werte unter 40 können auf Fotos sichtbare Artefakte einführen, obwohl sie für Diagramme und Screenshots mit großen einfarbigen Flächen akzeptabel sein können.
Die überladene Methode compressImages(int quality, boolean scaleExistingImages) akzeptiert auch einen booleschen Wert, der angibt, ob Bilder, die größer sind als ihre angezeigte Größe im PDF, skaliert werden sollen. Die Einstellung auf true reduziert die Dateigröße zusätzlich, indem die überflüssige Auflösung eliminiert wird, die entsteht, wenn ein hochauflösendes Bild eingebettet, auf der Seite jedoch in viel kleinerer Größe angezeigt wird. Dies ist üblich bei Web-zu-PDF-Konvertierungen, bei denen Bilder mit 2-facher Auflösung für Retina-Displays bereitgestellt werden.
Das Beispiel zur PDF-Komprimierung zeigt die Stapelkomprimierung über mehrseitige Dokumente, einschließlich der Überprüfung der Größenreduktion nach der Komprimierung.
Nächste Schritte
Dieses Tutorial behandelte die drei HTML-zu-PDF-Konvertierungsmethoden, die Installation, die Lizenzkonfiguration, die Renderoptionen, Kopf- und Fußzeilen, Seitenlayouts, Text Extraktion und Dateikomprimierung.
Für weitere Informationen erkunden Sie diese Ressourcen in der IronPDF for Java Dokumentation:
- PDF-Erstellungseinstellungen — Konfigurieren Sie DPI, Zoom, Timeout und CSS-Mediatyp für präzise Renderkontrolle.
- Kopf- und Fußzeilen — Fügen Sie HTML-Kopf- und Fußzeilen mit Markenlogos und benutzerdefinierten Layouts hinzu.
- Seitenlayout — Setzen Sie benutzerdefinierte Ränder und Papierabmessungen für druckbereite Ergebnisse.
- Wasserzeichen — Wenden Sie Hintergrund- und Vordergrundwasserzeichen an, um Dokumentensicherheit zu gewährleisten.
- Inhaltsextraktion — Extrahieren Sie Text aus PDFs und extrahieren Sie Bilder für nachgelagerte Verarbeitung.
- Dateikomprimierung — Reduzieren Sie die PDF-Dateigröße für Speicherung und E-Mail-Versand.
- API Referenz — Durchsuchen Sie die vollständige IronPDF Java API Referenz für jede Klasse und Methode.
Starten Sie eine kostenlose Testversion, um noch heute HTML in Ihrer Java-Anwendung in PDF zu konvertieren. Wenn Sie bereit sind, die Anwendung einzusetzen, sehen Sie sich die Lizenzoptionen an, um den Plan zu finden, der zu Ihrem Projekt passt.
Häufig gestellte Fragen
Wie konvertiere ich einen HTML-String in ein PDF in Java?
Rufen Sie PdfDocument.renderHtmlAsPdf mit Ihrem HTML-String auf. Geben Sie einen optionalen Basis-Pfad als zweiten Parameter an, damit relative CSS-, Bild- und Skript-Verweise korrekt aufgelöst werden. Rufen Sie saveAs auf dem zurückgegebenen PdfDocument auf, um die Datei zu schreiben.
Wie konvertiere ich eine URL in ein PDF in Java?
Rufen Sie PdfDocument.renderUrlAsPdf mit der voll qualifizierten URL auf. IronPDF ruft die Seite ab, wartet auf die Ausführung von JavaScript und rendert das vollständig geladene DOM in PDF.
Wie konvertiere ich eine lokale HTML-Datei in ein PDF in Java?
Rufen Sie PdfDocument.renderHtmlFileAsPdf mit einem absoluten Dateipfad auf. Alle relativen Asset-Verweise in der HTML-Datei werden automatisch relativ zu dem Verzeichnis dieser Datei aufgelöst.
Wie installiere ich IronPDF in einem Java-Projekt mit Maven?
Fügen Sie die IronPDF-Abhängigkeit zur pom.xml mit groupId com.ironsoftware und artifactId ironpdf hinzu, und führen Sie dann mvn install aus dem Projektstamm aus.
Wie entferne ich das Wasserzeichen von PDFs, die von IronPDF generiert wurden?
Rufen Sie License.setLicenseKey mit einem gültigen Lizenzschlüssel vor einem Rendering-Aufruf auf. Ohne Lizenzschlüssel stempelt IronPDF auf jeder Seite ein gekacheltes Wasserzeichen.
Wie füge ich Header und Footer zu einem PDF in Java hinzu?
Erstellen Sie eine TextHeaderFooter-Instanz, setzen Sie ihre Texteigenschaften unter Verwendung von Format-Token wie {page} und {total-pages}, und rufen Sie pdf.addTextHeaders und pdf.addTextFooters auf. Verwenden Sie alternativ HtmlHeaderFooter für gestaltete Header mit Logos.
Wie setze ich Seitenränder und Papiergröße eines PDFs in Java?
Erstellen Sie eine ChromePdfRenderOptions-Instanz und rufen Sie setMarginTop, setMarginBottom, setMarginLeft, setMarginRight (in Millimetern) und setPaperSize mit einem PaperSize-Enum-Wert auf. Übergeben Sie die Optionen an eine Render-Methode.
Wie füge ich mehrere PDFs in Java zu einem zusammen?
Erstellen Sie eine List mit den Dokumenten in der gewünschten Reihenfolge und übergeben Sie sie an PdfDocument.merge. Die Methode gibt ein neues PdfDocument zurück, das alle Seiten aus allen Quellen enthält.
Wie schütze ich ein PDF in Java mit einem Passwort?
Erstellen Sie eine SecurityOptions-Instanz, rufen Sie setUserPassword und setOwnerPassword auf und wenden Sie sie über PdfSecurityManager an, bevor Sie das Dokument speichern.
Wie extrahiere ich Text aus einem PDF in Java?
Rufen Sie pdf.extractAllText() auf, um allen Textinhalt als einzelnen String abzurufen. Verwenden Sie extractTextFromPage(int pageIndex), um Text von einer bestimmten Seite zu extrahieren.


