HTML zu PDF in Java
IronPDF for Java konvertiert HTML-Inhalte in pixelperfekte PDF-Dokumente mit der gleichen Rendering-Engine, die in modernen Browsern zu finden ist. Java-Anwendungen können PDFs aus HTML-Strings, lokalen HTML-Dateien oder Live-Webseiten generieren, ohne zusätzliches Rendering-Software oder eine GUI-Umgebung zu benötigen.
Dieses Tutorial deckt alle drei HTML-zu-PDF-Konvertierungsmethoden ab, die in IronPDF for Java verfügbar sind, sowie Installations-, Lizenzierungs- und Konfigurationsoptionen. Entwickler, die bereits IronPDF for .NET verwenden, werden die Java-API vertraut finden; das entsprechende .NET-Tutorial ist beim HTML zu PDF for .NET-Tutorial verfügbar.
Schnellstart: Ein PDF Aus HTML Generieren
Das folgende Beispiel erstellt ein einseitiges PDF aus einem HTML-String und speichert es auf der Festplatte. Nach der Installation der Bibliothek über Maven (Schritt 1) ist dies der gesamte erforderliche Code:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
Nutzen Sie IronPDF heute kostenlos in Ihrem Projekt.
Inhaltsverzeichnis
- Wie Installiere Ich IronPDF in einem Java-Projekt?
- Wie Wandle Ich Einen HTML-String In PDF In Java Um?
- Wie Lade Ich Lokale Ressourcen in Einen HTML-String?
- Wie Wandle Ich Eine URL in PDF in Java Um?
- Wie Wandle Ich Eine HTML-Datei In PDF in Java Um?
- Wie passe ich die PDF-Ausgabeeinstellungen an?
- Wie füge ich Kopf- und Fußzeilen zu einem PDF hinzu?
- Wie setze ich benutzerdefinierte Ränder und Seitengröße?
- Wie füge ich ein Wasserzeichen zu einem PDF hinzu?
- Wie extrahiere ich Text aus einem PDF in Java?
- Wie extrahiere ich Bilder aus einem PDF in Java?
- Wie komprimiere ich eine PDF-Datei?
- Wie drucke ich ein PDF programmatisch?
- Nächste Schritte
Wie installiere ich IronPDF in einem Java-Projekt?
IronPDF for Java ist im Maven Central-Repository verfügbar. Die empfohlene Installationsmethode ist Maven, obwohl auch manuelle JAR-Installationen für Projekte ohne Build-System unterstützt werden.
Als Maven-Abhängigkeit installieren
Fügen Sie die folgenden Artefakte in den Abschnitt dependencies der Datei pom.xml Ihres Projekts ein:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
Das erste Artefakt bezieht IronPDF. The second is an SLF4J logging implementation. IronPDF verwendet SLF4J, um Diagnosemeldungen während des Renderns auszugeben; you can substitute it with Logback or Log4j 2, or omit logging entirely.
Führen Sie mvn install im Projektstammverzeichnis aus, um die Abhängigkeiten herunterzuladen. Überprüfen Sie die neueste Version von IronPDF, bevor Sie eine Versionsnummer festlegen, da das Änderungsprotokoll alle aktuellen und vergangenen Veröffentlichungen auflistet.
Das JAR manuell installieren
Entwickler, die Maven nicht verwenden, können das IronPDF-Fat-JAR direkt von Maven Central herunterladen und dem Projekt-Classpath hinzufügen. Das Fat-JAR bündelt alle transitiven Abhängigkeiten.
Das IronPDF-Paket importieren
Alle Klassen zur Darstellung und Bearbeitung von PDF-Dateien befinden sich im Paket com.ironsoftware.ironpdf. Fügen Sie diese Importanweisung zu einer Java-Quelldatei hinzu, die IronPDF verwendet:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
Lizenzschlüssel festlegen
Ohne Lizenzschlüssel rendert IronPDF PDFs mit einem gekachelten Wasserzeichen auf jeder Seite. Um das Wasserzeichen zu entfernen, übergeben Sie einen gültigen Lizenzschlüssel an License.setLicenseKey, bevor Sie eine Rendering-Methode aufrufen:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
Platzieren Sie diesen Aufruf beim Start der Anwendung, bevor eine PDF-Generierungslogik ausgeführt wird. Starten Sie eine kostenlose Testversion, um einen Testschlüssel zu erhalten, oder sehen Sie sich Lizenzierungsoptionen für die Produktion an.
Log-Dateipfad konfigurieren
IronPDF schreibt Rendering-Diagnosedaten in eine Protokolldatei namens IronPdfEngine.log im Arbeitsverzeichnis der Anwendung. Rufen Sie Settings.setLogPath auf, um den Dateinamen oder den Speicherort zu ändern:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
Settings.setLogPath vor jeder PDF-Konvertierung oder -Bearbeitung auf. Nach dem Start des Renderings vorgenommene Aufrufe werden nicht wirksam.Wie konvertiere ich einen HTML-String in ein PDF in Java?
PdfDocument.renderHtmlAsPdf konvertiert eine HTML-Zeichenkette in ein PdfDocument-Objekt, das anschließend auf der Festplatte gespeichert oder an andere Verarbeitungsmethoden übergeben werden kann. Diese Methode akzeptiert jegliches W3C-konformes HTML, einschließlich vollständiger Seitenmarkups mit den Elementen <head> und <body>.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
Die Methode gibt eine PdfDocument-Instanz zurück. Rufen Sie saveAs auf, um die PDF-Datei auf die Festplatte zu schreiben, oder verwenden Sie getBinaryData, um die rohen PDF-Bytes für das Streaming oder die Speicherung abzurufen.
renderHtmlAsPdf verarbeitet alle HTML-, CSS- und JavaScript-Inhalte auf dieselbe Weise wie ein standardkonformer Browser. Das resultierende PDF spiegelt genau wider, wie die Seite aussehen würde, wenn sie in Chrome betrachtet wird.
Für weitere Details zu dieser Methode, siehe das HTML-String zu PDF Codebeispiel auf der IronPDF Java-Beispielseite.
Wie lade ich lokale Assets in einem HTML-String?
HTML referenziert oft externe Assets (Stylesheets, Bilder, Skripte) über relative Pfade. renderHtmlAsPdf akzeptiert ein optionales zweites Argument, das den Basispfad für die Auflösung dieser Verweise festlegt. Der Basis-Pfad kann auf ein lokales Verzeichnis oder eine URL zeigen.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
Das Basis-Pfad-Argument funktioniert sowohl mit absoluten Dateisystempfaden als auch mit URL-Strings. Dadurch eignet sich renderHtmlAsPdf zum Erstellen von PDF-Dateien aus Vorlagen, die auf der Festplatte gespeichert sind oder von einem Webserver bereitgestellt werden.
C:\invoices\) verwenden, sollten in Schrägstriche umgewandelt werden oder Paths.get() verwenden, um plattformübergreifende Kompatibilität zu gewährleisten.Wie konvertiere ich eine URL in ein PDF in Java?
PdfDocument.renderUrlAsPdf ruft eine Live-Webseite unter der angegebenen URL ab und rendert sie als PDF. Die Methode lädt die vollständige Seite, einschließlich aller externen CSS, JavaScript und Bilder, bevor das Rendering erfolgt.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
renderUrlAsPdf wartet, bis die JavaScript-Ausführung abgeschlossen ist, bevor die gerenderte Seite erfasst wird. Das bedeutet, dass dynamisch generierte Inhalte (wie Diagramme oder über AJAX geladene Daten) in der Ausgabe-PDF erscheinen.
Für die gleichwertige .NET-Implementierung oder zusätzliche URL-zu-PDF-Optionen, siehe das URL zu PDF Codebeispiel.
Wie konvertiere ich eine HTML-Datei in ein PDF in Java?
PdfDocument.renderHtmlFileAsPdf liest eine lokale HTML-Datei ein und rendert sie als PDF. Alle in der HTML-Datei referenzierten relativen Pfade (Stylesheets, Bilder, Skripte) werden relativ zum Verzeichnis der HTML-Datei aufgelöst.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
Dieser Ansatz funktioniert gut bei der Dokumentvorlagengenerierung: Rechnungsvorlagen, Berichte oder Zertifikate, die als HTML-Dateien zusammen mit ihren zugeordneten CSS- und Bild-Assets gespeichert sind. IronPDF rendert die Datei mit derselben Genauigkeit wie ein Browser, indem alle CSS Layout-Regeln beibehalten werden.
renderHtmlFileAsPdf übergeben werden, werden aus dem JVM-Arbeitsverzeichnis aufgelöst, was in Server-Umgebungen zu unerwarteten Ergebnissen führen kann.Wie passe ich die PDF-Ausgabeeinstellungen an?
Die Klasse PdfRenderOptions steuert das Seitenlayout und das Rendering-Verhalten. Erstellen Sie eine PdfRenderOptions-Instanz, konfigurieren Sie die erforderlichen Eigenschaften und übergeben Sie sie an eine der Rendering-Methoden.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
Die Klasse PdfRenderOptions bietet zusätzliche Eigenschaften zur Steuerung von DPI, Viewport-Breite, Papierausrichtung und Timeout-Werten. Siehe das PDF-Generierungseinstellungen-Codebeispiel für eine vollständige Liste der verfügbaren Optionen.
Wie füge ich Kopf- und Fußzeilen zu einem PDF hinzu?
IronPDF unterstützt sowohl textbasierte als auch HTML-basierte Kopf- und Fußzeilen. Text-Kopfzeilen verwenden vordefinierte Zusammenführungsfelder für allgemeine Werte wie Seitenzahlen und Dokumenttitel; HTML-Kopfzeilen akzeptieren beliebiges HTML-Markup für vollständig angepasste Layouts.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
Die Platzhalter {page} und {total-pages} werden beim Rendern durch die aktuelle Seitenzahl und die Gesamtseitenzahl ersetzt. Für komplexere Layouts, wie z. B. eine Fußzeile mit einem Firmenlogo, verwenden Sie HtmlHeaderFooter anstelle von TextHeaderFooter.
Für vollständige Details zu HTML-basierten Kopf- und Fußzeilen, siehe das Codebeispiel zum Hinzufügen von Kopf- und Fußzeilen.
Wie setze ich benutzerdefinierte Ränder und Seitengröße?
Seitengröße und Ränder werden vor dem Rendern der PDF-Datei im Objekt PdfRenderOptions konfiguriert. IronPDF unterstützt Standardpapiergrößen (A4, Letter, Legal) und vollständig benutzerdefinierte Dimensionen.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
Für eine vollständige Liste unterstützter Papiergrößen und Einheiten, sehen Sie sich das Codebeispiel für benutzerdefinierte Papiergröße und das Codebeispiel für benutzerdefinierte Ränder an.
Wie füge ich ein Wasserzeichen zu einem PDF hinzu?
PdfDocument.applyWatermark fügt jedem Blatt des Dokuments ein Text- oder Bildwasserzeichen hinzu. Das Wasserzeichen wird standardmäßig auf einer separaten Ebene unterhalb des Seiteninhalts angezeigt oder oberhalb davon, wenn das Flag isStampBehind auf false gesetzt ist.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
Der HTML-Ansatz bietet präzise Kontrolle über die Gestaltung des Wasserzeichens, einschließlich Schriftart, Größe, Farbe und Transparenz. Für erweiterte Wasserzeichenkonfigurationen wie wiederholte Kachelmuster oder bildbasierte Stempel, siehe den Wasserzeichen-Anleitung.
Wie extrahiere ich Text aus einem PDF in Java?
PdfDocument.extractAllText liest den in einer PDF-Datei eingebetteten Textinhalt und gibt ihn als einzelnes String zurück. Diese Methode extrahiert auswählbaren Text von allen Seiten im Dokument.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
Die Textextraktion funktioniert bei PDFs, bei denen Text als auswählbare Glyphen gespeichert ist. Für PDFs, die bildbasierte Scans sind, sollten Sie IronPDF mit einer OCR-Bibliothek kombinieren, um Text aus den gerenderten Seitenbildern zu extrahieren.
Siehe das Codebeispiel zum Extrahieren von Text aus einem PDF für zusätzliche Optionen, einschließlich der Textextraktion pro Seite.
Wie extrahiere ich Bilder aus einem PDF in Java?
PdfDocument.extractAllImages gibt eine Liste von BufferedImage-Objekten zurück, eines für jedes in die PDF-Datei eingebettete Bild. Die zurückgegebenen Bilder können direkt auf die Festplatte gespeichert oder an nachgelagerte Bildverarbeitungslogik übergeben werden.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
Für weitere Extraktionsoptionen, einschließlich der Extraktion von Bildern von bestimmten Seiten, siehe das Codebeispiel zum Extrahieren von Bildern aus einem PDF.
Wie komprimiere ich eine PDF-Datei?
PdfDocument.compressImages reduziert die Größe von PDF-Dateien, indem eingebettete Bilder mit einer niedrigeren Qualität neu kodiert werden. Die Methode akzeptiert einen Qualitätswert von 1 (Mindestqualität, kleinste Datei) bis 100 (Maximalqualität).
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
Die Bildkompression ist der effektivste Weg, um die Größe von PDFs zu reduzieren, die Fotografien oder hochauflösende Grafiken enthalten. Für zusätzliche Strategien zur Reduzierung der Dateigröße, wie das Entfernen eingebetteter Schriftarten, siehe das PDF-Komprimierung-Codebeispiel.
Wie drucke ich ein PDF programmatisch?
PdfDocument.print sendet ein PDF über die Standard-Java-Druck-API an den Standarddrucker des Systems. Die Methode akzeptiert einen booleschen Wert, der steuert, ob ein Druckdialog angezeigt wird.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
Übergeben Sie true an die Methode print, um den Systemdruckdialog anzuzeigen, in dem Benutzer einen Drucker auswählen und die Druckeinstellungen konfigurieren können, bevor der Druckauftrag gesendet wird.
Nächste Schritte
In diesem Tutorial wurden die wichtigsten HTML-zu-PDF-Umwandlungsmethoden in IronPDF for Java behandelt, zusammen mit der Installation, Konfiguration und den häufigsten Dokumentverarbeitungsoperationen.
Um noch weiter zu gehen:
- Durchsuchen Sie die vollständige Reihe von HTML zu PDF Java Codebeispielen für zusätzliche Renderingszenarien, die hier nicht behandelt wurden.
- Lesen Sie die IronPDF for Java-Dokumentation, um Bereitstellung, Thread-Sicherheit und Serverkonfiguration zu verstehen.
- Erkunden Sie die vollständige IronPDF Java API-Referenz für detaillierte Methodensignaturen und Parameterbeschreibungen.
Starten Sie eine kostenlose Testversion, um PDFs ohne Wasserzeichen zu erzeugen, oder sehen Sie sich Lizenzierungsoptionen an, um das richtige Abonnement für Ihr Projekt zu finden.
Tutorial Schnellzugriff
Dieses Tutorial als Java-Quellcode herunterladen
Der vollständige HTML-zu-PDF-Java-Quellcode für dieses Tutorial steht als gezipptes IntelliJ-Projekt zum Herunterladen bereit.
HerunterladenEntdecken Sie dieses Tutorial auf GitHub
Der Quellcode für dieses Projekt ist auf GitHub als IntelliJ IDEA-Projekt verfügbar. Er kann in andere beliebte Java-IDEs wie Eclipse und NetBeans importiert werden.
Java HTML zu PDF auf GitHubSehen Sie sich die API-Referenz an
Erkunden Sie die IronPDF Java API-Referenz, die alle Namespaces, Klassen, Methoden und Enums in der Bibliothek abdeckt.
Sehen Sie sich die API-Referenz anHäufig gestellte Fragen
Wofür wird IronPDF for Java verwendet?
IronPDF for Java konvertiert HTML-Inhalte in PDF-Dokumente innerhalb von Java-Anwendungen. Es unterstützt die Konvertierung von HTML-Strings, lokalen HTML-Dateien und Live-Webseiten-URLs und bietet Tools zum Hinzufügen von Headern und Footern, Wasserzeichen, Textextraktion, Bildextraktion und Dateikomprimierung.
Wie installiere ich IronPDF in einem Java-Projekt?
Fügen Sie Ihrer pom.xml zwei Maven-Abhängigkeiten hinzu: com.ironsoftware:ironpdf und org.slf4j:slf4j-simple, und führen Sie dann mvn install aus. Alternativ können Sie die Fat-JAR von Maven Central herunterladen und sie dem Projektklassenpfad hinzufügen.
Wie konvertiere ich einen HTML-String in ein PDF in Java?
Rufen Sie PdfDocument.renderHtmlAsPdf(htmlString) mit Ihrem HTML-Markup auf. Die Methode gibt ein PdfDocument-Objekt zurück. Rufen Sie pdf.saveAs("output.pdf") auf, um es auf die Festplatte zu schreiben.
Wie konvertiere ich eine URL in ein PDF in Java?
Rufen Sie PdfDocument.renderUrlAsPdf("https://example.com") auf. IronPDF ruft die Seite ab, wartet auf die Ausführung von JavaScript und rendert dann die vollständig geladene Seite als PDF.
Wie konvertiere ich eine lokale HTML-Datei in ein PDF in Java?
Rufen Sie PdfDocument.renderHtmlFileAsPdf("C:/path/to/file.html") auf. Verwenden Sie einen absoluten Dateipfad. IronPDF löst relative CSS- und Bildverweise automatisch aus dem Verzeichnis der HTML-Datei.
Fügt IronPDF for Java generierten PDFs ein Wasserzeichen hinzu?
Ohne Lizenzschlüssel fügt IronPDF allen generierten PDFs ein gekacheltes Wasserzeichen hinzu. Setzen Sie vor einem Rendering-Aufruf einen gültigen Lizenzschlüssel mit License.setLicenseKey("YOUR-KEY"), um das Wasserzeichen zu entfernen.
Welche Java-Version benötigt IronPDF?
IronPDF for Java erfordert Java 8 oder höher. Es ist kompatibel mit Spring Boot, Java EE, Micronaut und anderen JVM-basierten Frameworks.
Wie füge ich mit IronPDF Seitenzahlen zu einem PDF in Java hinzu?
Erstellen Sie eine TextHeaderFooter-Instanz und rufen Sie setRightText("{page} of {total-pages}") auf. Übergeben Sie das Objekt an pdf.addTextFooters(footer). Die Zusammenführungsfelder werden zur Renderzeit durch tatsächliche Seitenzahlen ersetzt.
Kann IronPDF for Java Text aus einem PDF extrahieren?
Ja. Laden Sie ein PDF mit PdfDocument.fromFile(Paths.get("file.pdf")), und rufen Sie dann pdf.extractAllText() auf, um alle auswählbaren Textinhalte als String abzurufen.
Wie reduziere ich die Dateigröße eines PDFs in Java?
Rufen Sie pdf.compressImages(quality) auf, wobei quality eine Ganzzahl von 1 bis 100 ist. Ein Wert von 60 bietet ein gutes Gleichgewicht zwischen Dateigröße und Bildqualität für die meisten PDFs.





