Wie man PDF-Dateien in Java erstellt
Das Erstellen von PDF-Dateien in Java ist ein häufiges Erfordernis für Geschäftsanwendungen: Erstellen von Rechnungen und Berichten auf Abruf, Erzeugen von Zertifikaten, Quittungen und Prüfprotokollen. IronPDF for Java konvertiert HTML zu PDF unter Verwendung einer vollständigen Chromium-Rendering-Engine, was bedeutet, dass jeglicher HTML5, CSS3 und JavaScript-Inhalt originalgetreu gerendert wird, ohne Formatverlust.
Dieser Leitfaden behandelt drei Methoden zur PDF-Erstellung: aus einer HTML-Zeichenfolge, aus einer lokalen HTML-Datei und aus einer Live-URL. Er behandelt auch die Seitenformatierung, den Passwortschutz und die Integration von Spring Boot.
Schnellstart: Erstellen Sie ein PDF aus HTML in Java
- Fügen Sie IronPDF zu Ihrem
pom.xmlhinzu:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
- Importieren Sie die Bibliothek und erstellen Sie ein PDF:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");
// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");
// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
Wie man eine PDF-Datei in Java erstellt
- Installieren Sie die IronPDF Java-Bibliothek über Maven oder Gradle
- Importieren
com.ironsoftware.ironpdf.*und setzen Sie Ihren Lizenzschlüssel - Rufen Sie
PdfDocument.renderHtmlAsPdf()mit einem HTML-String auf, um ein PDF im Speicher zu erstellen - Verwenden Sie
PdfDocument.renderHtmlFileAsPdf(), um eine lokale HTML-Datei in PDF zu konvertieren - Rufen Sie
pdf.saveAs()auf, um das fertige Dokument auf der Festplatte zu speichern
Was ist IronPDF for Java und warum sollte man es verwenden?
IronPDF for Java ist eine PDF-Generierungs- und Manipulationsbibliothek, die auf der Chromium-Rendering-Engine basiert. Da es HTML genau so wie Chrome rendert, bewältigt es komplexe Layouts, benutzerdefinierte Schriftarten, CSS-Animationen, von JavaScript generierte Inhalte und eingebettete Bilder ohne manuelle Layouthandhabung.
Die Bibliothek deckt den gesamten PDF-Lebenszyklus in einer einzigen Abhängigkeit ab. Entwickler können Dokumente von Grund auf erstellen, vorhandene HTML-Inhalte konvertieren, Dateien zusammenführen oder teilen, Wasserzeichen hinzufügen, mit Passwörtern verschlüsseln, Text und Bilder extrahieren und ausfüllbare Formulare generieren, alles durch eine konsistente API. Für HTML-intensive Workflows vermeidet IronPDF die manuellen Seitenlayout-Berechnungen, die bei niedrigstufigen PDF-Bibliotheken wie Apache PDFBox erforderlich sind.
Im Gegensatz zu iText, das eine AGPL-Open-Source-Lizenz für die meisten kommerziellen Anwendungen erfordert, bietet IronPDF kommerziell-freundliche Lizenzbedingungen und erfordert keine komplexen Lizenzprüfung. IronPDF for Java wird als Maven-Artefakt geliefert und läuft unter Windows, Linux und macOS. Es integriert sich mit Spring Boot, Jakarta EE und eigenständigen Java-Anwendungen. Die Bibliothek unterstützt auch Server-Bereitstellungen auf AWS, Azure und Google Cloud.
Was sind die Voraussetzungen für die Verwendung von IronPDF in Java?
Welche Java-Version und welches Build-Tool sind erforderlich?
IronPDF for Java erfordert JDK 8 oder höher. Die empfohlene Mindestversion für die Produktivanwendung ist JDK 11 (LTS). Download the JDK from the Oracle download page or use an OpenJDK distribution such as Eclipse Temurin.
Maven (3.6+) und Gradle (7.0+) werden beide unterstützt. Maven ist die gebräuchlichere Wahl für Enterprise-Java-Projekte.
Wie füge ich IronPDF zu einem Maven-Projekt hinzu?
Öffnen Sie die Datei pom.xml Ihres Projekts und fügen Sie die folgende Abhängigkeit innerhalb des Blocks <dependencies> hinzu:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
Führen Sie nach dem Speichern mvn install aus oder lassen Sie Ihre IDE die Abhängigkeit automatisch auflösen. Maven lädt IronPDF von Maven Central herunter, sodass keine private Repository-Konfiguration erforderlich ist.
Wie füge ich IronPDF zu einem Gradle-Projekt hinzu?
Fügen Sie die folgende Zeile in den Block dependencies in Ihrer Datei build.gradle ein:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/gradle-dependency.gradle
implementation 'com.ironsoftware:ironpdf:2024.9.1'
Führen Sie gradle build aus, um die Bibliothek abzurufen. Check Maven Central for the latest published version.
Welche Importe und Konfigurationen sind erforderlich?
Fügen Sie diese Importanweisungen oben in Ihrer Java-Quelldatei hinzu:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
Bevor Sie PDF-Dateien erstellen, legen Sie Ihren Lizenzschlüssel in der Methode main oder beim Start der Anwendung fest:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
Hinweis: Ohne gültigen Lizenzschlüssel werden PDF-Dateien mit einem Testwasserzeichen generiert. Kaufen Sie eine Lizenz oder starten Sie eine kostenlose Testversion, um es zu entfernen. Siehe Verwendung von Lizenzschlüsseln in Java für zusätzliche Konfigurationsoptionen.
Wie erzeuge ich ein PDF aus einer HTML-Zeichenfolge in Java?
Übergeben Sie beliebige HTML-Zeichenfolgen direkt an PdfDocument.renderHtmlAsPdf(). IronPDF gibt eine PdfDocument-Instanz zurück, die das fertige Dokument im Speicher repräsentiert. Rufen Sie saveAs() auf, um es auf die Festplatte zu schreiben.
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
renderHtmlAsPdf() unterstützt die vollständigen HTML5- und CSS3-Spezifikationen, einschließlich Webfonts, Flexbox, Grid-Layouts und JavaScript-Ausführung. Das folgende Beispiel verwendet eine mehrzeilige HTML-Vorlage mit benutzerdefinierten Stilen:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
.summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
</style>
</head>
<body>
<h1>Invoice #1042</h1>
<div class="summary">
<p>Amount due: $1,250.00</p>
<p>Due date: 2024-06-01</p>
</div>
</body>
</html>
""";
PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
.summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
</style>
</head>
<body>
<h1>Invoice #1042</h1>
<div class="summary">
<p>Amount due: $1,250.00</p>
<p>Due date: 2024-06-01</p>
</div>
</body>
</html>
""";
PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
Das obige Rechnungsexemplar verwendet Java Textblöcke (seit Java 13 verfügbar) für sauberere mehrzeilige HTML. Bei älteren Java-Versionen fügen Sie die HTML-Zeichenkette manuell zusammen oder laden Sie sie mithilfe von renderHtmlFileAsPdf() aus einer Datei. Für einen umfassenderen Blick auf die HTML-zu-PDF-Konvertierung einschließlich JavaScript-Rendering, siehe das HTML zu PDF-Tutorial for Java.
Wie erzeuge ich ein PDF aus einer lokalen HTML-Datei in Java?
Verwenden Sie PdfDocument.renderHtmlFileAsPdf(), um eine auf dem lokalen Dateisystem gespeicherte HTML-Datei zu konvertieren. Übergeben Sie den Pfad als Zeichenfolge; relative Pfade werden relativ zum aktuellen Arbeitsverzeichnis aufgelöst:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");
// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");
// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
IronPDF löst alle referenzierten Ressourcen (externe CSS-Dateien, lokale Bilder und JavaScript-Bibliotheken) relativ zum Verzeichnis der HTML-Datei auf. Das bedeutet, dass Sie eine vollständige HTML-Vorlage mit verlinkten Stylesheets erstellen und durch IronPDF ohne Anpassung der Asset-Pfade ausführen können.
Die Methode akzeptiert sowohl einen String-Pfad als auch ein java.nio.file.Path-Objekt. Für den Produktivbetrieb bevorzugen Sie absolute Pfade, um Mehrdeutigkeiten des Arbeitsverzeichnisses zu vermeiden. Siehe das HTML-Datei zu PDF Beispiel für eine vollständige funktionierende Demonstration.
Wie erzeuge ich ein PDF aus einer Webseitens-URL in Java?
PdfDocument.renderUrlAsPdf() ruft eine Live-URL ab, rendert sie mit Chromium und gibt ein PDF zurück. Dies ist nützlich zur Erfassung von Dashboard-Schnappschüssen, Generierung von PDF-Quittungen von gehosteten Quittungsseiten oder Archivierung von Webinhalten:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
Für Seiten hinter HTTP-Authentifizierung übermitteln Sie die Anmeldedaten über ChromePdfRenderOptions:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");
// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");
// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
Siehe das URL zu PDF Code-Beispiel für Details. Für komplexere Anmeldevorgänge mit Cookies oder Formularbasierter Authentifizierung, siehe Website-Login-Handhabung.
Wie kontrolliere ich Seitengröße, Ausrichtung und Ränder?
Verwenden Sie ChromePdfRenderOptions, um das Layout der Ausgabe-PDF-Datei anzupassen. Übergeben Sie die konfigurierten Optionen als zweites Argument an jede Render-Methode. Die häufigsten Einstellungen sind Seitenausrichtung, Papiergröße und Ränder:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);
// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);
// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);
// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);
// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);
// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);
// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);
// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);
// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
ChromePdfRenderOptions bietet über 30 Einstellungen, die über die oben gezeigten hinausgehen, darunter DPI, JavaScript-Ausführungszeitlimit, Zoomfaktor und CSS-Medientyp. Eine vollständige Liste finden Sie unter den Einstellungen zur PDF-Erstellung. Für benutzerdefinierte Papierformate, die nicht in der Enumeration PaperSize enthalten sind, siehe benutzerdefinierte PDF-Papierformate.
Wie füge ich einen Passwortschutz zu einem PDF in Java hinzu?
SecurityOptions steuert Lese- und Eigentümerpasswörter sowie Berechtigungsflags. Übergeben Sie SecurityOptions an das SecurityManager des Dokuments, bevor Sie speichern:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
Für strengere Kontrolle setzen Sie ein Besitzerpasswort und beschränken Sie bestimmte Operationen:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();
// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");
// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");
// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();
// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");
// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");
// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
Das Öffnen des PDF fordert den Leser zur Eingabe eines Passworts auf:
Nach Eingabe des korrekten Passworts öffnet sich das PDF und zeigt den vollständigen Inhalt an:
Siehe Sicherheits- und Metadaten-Einstellungen für die vollständige Liste der Berechtigungsflaggen.
Wie erzeugt man PDFs in einer Spring Boot-Anwendung?
IronPDF integriert sich direkt mit Spring Boot. Geben Sie ein PDF als Byte-Array-HTTP-Antwort von jeder Controllermethode zurück; dieses Muster funktioniert für bedarfsgesteuerte Berichtsgenerierung, Rechnungsdownloads und Datenexporte.
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
@RestController
@RequestMapping("/api/pdf")
public class PdfController {
@GetMapping("/invoice/{id}")
public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
// Build HTML dynamically using the invoice ID
String html = """
<html><body>
<h1>Invoice #%s</h1>
<p>Amount due: $500.00</p>
</body></html>
""".formatted(id);
// Render and return as PDF download
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
byte[] pdfBytes = pdf.getBinaryData();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");
return ResponseEntity.ok().headers(headers).body(pdfBytes);
}
}
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
@RestController
@RequestMapping("/api/pdf")
public class PdfController {
@GetMapping("/invoice/{id}")
public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
// Build HTML dynamically using the invoice ID
String html = """
<html><body>
<h1>Invoice #%s</h1>
<p>Amount due: $500.00</p>
</body></html>
""".formatted(id);
// Render and return as PDF download
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
byte[] pdfBytes = pdf.getBinaryData();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");
return ResponseEntity.ok().headers(headers).body(pdfBytes);
}
}
Die Methode getBinaryData() gibt das PDF als Byte-Array zurück, das Spring Boot direkt an den Client überträgt. Es wird keine temporäre Datei auf die Festplatte geschrieben. Für Bereitstellungen mit hohem Durchsatz sollten Sie License.setLicenseKey() in einer @PostConstruct-Methode oder einem Anwendungsstart-Listener instanziieren, anstatt dies pro Anfrage zu tun.
Was sind die nächsten Schritte für die Java PDF-Erstellung?
Dieser Leitfaden demonstrierte vier Ansätze zur PDF-Generierung in Java mit IronPDF: HTML-Zeichenfolgen-Rendering, lokale Dateikonvertierung, URL-Erfassung und Spring Boot HTTP-Antwort-Streaming. Alle Methoden nutzen dieselbe PdfDocument-API, ChromePdfRenderOptions zur Formatierungssteuerung und SecurityOptions zum Zugriffsschutz.
IronPDF for Java unterstützt auch das Hinzufügen und Stempeln von Wasserzeichen, das Zusammenführen mehrerer PDF-Dateien, das Teilen von PDFs in einzelne Seiten, das Hinzufügen digitaler Signaturen, das Rendern von JavaScript-Diagrammen zu PDF und das programmgesteuerte Drucken von PDFs.
Starten Sie eine kostenlose Testversion, um PDFs ohne Wasserzeichen zu generieren, oder sehen Sie sich Lizenzierungsoptionen an, um einen Plan zu wählen, der zu Ihrem Projekt passt. Bereit, tiefer einzutauchen? Schauen Sie sich die vollständige IronPDF for Java-Tutorial-Seite an.
Häufig gestellte Fragen
Wie erstelle ich ein PDF aus einem HTML-String in Java?
Übergeben Sie Ihren HTML-String an PdfDocument.renderHtmlAsPdf(). Die Methode gibt ein PdfDocument-Objekt im Speicher zurück. Rufen Sie pdf.saveAs(Paths.get("output.pdf")) auf, um es auf die Festplatte zu schreiben. IronPDF unterstützt vollständiges HTML5, CSS3 und JavaScript.
Welche Java-Version benötigt IronPDF?
IronPDF for Java erfordert JDK 8 oder höher. JDK 11 LTS wird als Mindestversion für den produktiven Einsatz empfohlen.
Wie füge ich IronPDF zu einem Maven-Projekt hinzu?
Fügen Sie den Abhängigkeitsblock mit groupId com.ironsoftware und artifactId ironpdf in den -Abschnitt Ihrer pom.xml hinzu, und führen Sie dann mvn install aus.
Wie erstelle ich ein PDF aus einer lokalen HTML-Datei in Java?
Rufen Sie PdfDocument.renderHtmlFileAsPdf() mit dem Pfad zu Ihrer HTML-Datei auf. IronPDF löst alle verknüpften CSS, Bilder und JavaScript relativ zum Verzeichnis der Datei automatisch auf.
Kann ich ein PDF aus einer URL in Java erstellen?
Ja. Rufen Sie PdfDocument.renderUrlAsPdf() mit der Ziel-URL auf. IronPDF ruft die Seite über Chromium ab und gibt ein PdfDocument zurück. Für Seiten hinter einer HTTP-Authentifizierung übergeben Sie Anmeldeinformationen über ChromePdfRenderOptions.
Wie schütze ich ein PDF in Java mit IronPDF durch ein Passwort?
Erstellen Sie ein SecurityOptions-Objekt, rufen Sie setUserPassword() mit Ihrem Passwort auf, und übergeben Sie die Optionen an urlPdf.getSecurity().setSecurityOptions() bevor Sie saveAs() aufrufen.
Wie verwende ich IronPDF in einer Spring Boot-Anwendung?
Integrieren Sie Ihre PDF-Erstellungslogik in eine @RestController-Methode. Rufen Sie PdfDocument.renderHtmlAsPdf() auf und nutzen Sie dann pdf.getBinaryData(), um ein Byte-Array zu erhalten und es als ResponseEntity mit MediaType.APPLICATION_PDF zurückzugeben.
Wie stelle ich Papiergröße und -ausrichtung in IronPDF for Java ein?
Erstellen Sie ein ChromePdfRenderOptions-Objekt, rufen Sie setPaperSize() und setPaperOrientation() auf, und übergeben Sie es als zweiten Parameter an jede Render-Methode. Legen Sie die Papiergröße vor der Ausrichtung fest, um Konflikte zu vermeiden.
Läuft IronPDF unter Linux und macOS for Java?
Ja. IronPDF for Java läuft auf Windows, Linux und macOS. Es unterstützt auch Cloud-Bereitstellungen auf AWS, Azure und Google Cloud, ohne dass ein externer PDF-Viewer oder Rendering-Engine erforderlich ist.
Haben PDFs ein Wasserzeichen ohne einen Lizenzschlüssel?
Ja. Ohne einen gültigen Lizenzschlüssel fügt IronPDF allen erstellten Dokumenten ein Test-Wasserzeichen hinzu. Rufen Sie License.setLicenseKey() mit einem gültigen Schlüssel beim Anwendungsstart auf, um es zu entfernen.




