# 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](/tutorials/html-to-pdf/) verfügbar.
[[i:(IronPDF for Java erfordert Java 8 oder höher und ist mit allen großen JVM-basierten Frameworks kompatibel, einschließlich Spring Boot, Java EE und Micronaut.)]]
*as-heading:2(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:
```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");
```
!!!--LIBRARY_START_TRIAL_BLOCK--!!!
*as-heading:2(Inhaltsverzeichnis)*
- [Wie Installiere Ich IronPDF in einem Java-Projekt?](#install-maven)
- [Als Maven-Abhängigkeit Installieren](#install-maven)
- [Das JAR Manuell Installieren](#install-jar)
- [Das IronPDF-Paket Importieren](#import-package)
- [Den Lizenzschlüssel Setzen](#set-license-key)
- [Pfad Der Protokolldatei Konfigurieren](#set-log-path)
- [Wie Wandle Ich Einen HTML-String In PDF In Java Um?](#html-string-to-pdf)
- [Wie Lade Ich Lokale Ressourcen in Einen HTML-String?](#html-string-local-assets)
- [Wie Wandle Ich Eine URL in PDF in Java Um?](#url-to-pdf)
- [Wie Wandle Ich Eine HTML-Datei In PDF in Java Um?](#html-file-to-pdf)
- [Wie passe ich die PDF-Ausgabeeinstellungen an?](#customize-output)
- [Wie füge ich Kopf- und Fußzeilen zu einem PDF hinzu?](#headers-footers)
- [Wie setze ich benutzerdefinierte Ränder und Seitengröße?](#margins-page-size)
- [Wie füge ich ein Wasserzeichen zu einem PDF hinzu?](#add-watermark)
- [Wie extrahiere ich Text aus einem PDF in Java?](#extract-text)
- [Wie extrahiere ich Bilder aus einem PDF in Java?](#extract-images)
- [Wie komprimiere ich eine PDF-Datei?](#compress-pdf)
- [Wie drucke ich ein PDF programmatisch?](#print-pdf)
- [Nächste Schritte](#next-steps)
!!!--LIBRARY_NUGET_INSTALL_BLOCK--!!!
---------------------
## 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 dem `dependencies` Abschnitt der `pom.xml` Datei Ihres Projekts hinzu:
```xml
//: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. Das zweite ist eine <a href="https://www.slf4j.org/" target="_blank" rel="nofollow noopener noreferrer">SLF4J</a>-Logging-Implementierung. IronPDF verwendet SLF4J, um Diagnosemeldungen während des Renderns auszugeben; Sie können es mit <a href="https://logback.qos.ch/" target="_blank" rel="nofollow noopener noreferrer">Logback</a> oder <a href="https://logging.apache.org/log4j/2.x/" target="_blank" rel="nofollow noopener">Log4j 2</a> ersetzen oder das Logging ganz weglassen.
Führen Sie `mvn install` im Projektstamm aus, um die Abhängigkeiten herunterzuladen. Überprüfen Sie die [neueste Version von IronPDF](/java/product-updates/changelog/), 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](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf) herunterladen und dem Projekt-Classpath hinzufügen. Das Fat-JAR bündelt alle transitiven Abhängigkeiten.
[[t:(Maven ist der empfohlene Ansatz für neue Projekte. Die JAR-Installation erfordert manuelle Abhängigkeitsverwaltung und kann zu Versionskonflikten in größeren Projekten führen.)]]
### Das IronPDF-Paket importieren
Alle PDF-Rendering- und Manipulation-Klassen befinden sich im `com.ironsoftware.ironpdf` Paket. Fügen Sie diese Importanweisung zu einer Java-Quelldatei hinzu, die IronPDF verwendet:
```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:
```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](#trial-license), um einen Testschlüssel zu erhalten, oder [sehen Sie sich Lizenzierungsoptionen](#licensing) für die Produktion an.
### Log-Dateipfad konfigurieren
IronPDF schreibt Rendering-Diagnosen in eine Log-Datei namens `IronPdfEngine.log` im Arbeitsverzeichnis der Anwendung. Rufen Sie `Settings.setLogPath` auf, um den Dateinamen oder den Speicherort zu ändern:
```java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
```
[[n:(Rufen Sie `Settings.setLogPath` auf, bevor Sie eine PDF-Konvertierung oder -Manipulationsmethode ausführen. Nach dem Start des Renderings vorgenommene Aufrufe werden nicht wirksam.)]]
## Wie konvertiere ich einen HTML-String in ein PDF in Java?
`PdfDocument.renderHtmlAsPdf` konvertiert einen HTML-String in ein `PdfDocument` Objekt, das dann auf der Festplatte gespeichert oder an andere Verarbeitungsmethoden übergeben werden kann. Diese Methode akzeptiert jedes W3C-konforme HTML, einschließlich vollständiger Seitenmarkierungen mit `<head>` und `<body>` Elementen.
```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");
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-5.webp" target="_blank"><img src="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-5.webp" alt="PDF-Ausgabe mit einer gerenderten H1-Überschrift, die aus einer HTML-Zeichenkette mit PdfDocument.renderHtmlAsPdf erzeugt wurde" class="img-responsive add-shadow" /></a>
<p class="content__image-caption">Die <code>PdfDocument.renderHtmlAsPdf</code>-Methode rendert HTML-Markup in ein PDF, wobei alle W3C-konformen Styles und Strukturen erhalten bleiben.</p>
</div>
</div>
Die Methode gibt eine `PdfDocument` Instanz zurück. Rufen Sie `saveAs` auf, um das PDF 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 genauso, wie es ein standardkonformer Browser tut. 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](/java/examples/using-html-to-create-a-pdf/) 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 Referenzen festlegt. Der Basis-Pfad kann auf ein lokales Verzeichnis oder eine URL zeigen.
```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");
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-24.webp" target="_blank"><img src="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-24.webp" alt="PDF-Ausgabe mit einer Rechnung mit gestaltetem Layout, Logo-Bild und aus lokalen Assets angewendeter CSS-Formatierung" class="img-responsive add-shadow" /></a>
<p class="content__image-caption">Wenn ein Basis-Pfad angegeben wird, löst <code>renderHtmlAsPdf</code> relative Asset-Referenzen aus diesem Verzeichnis auf und erzeugt ein vollständig gestyltes PDF.</p>
</div>
</div>
Das Basis-Pfad-Argument funktioniert sowohl mit absoluten Dateisystempfaden als auch mit URL-Strings. Dadurch eignet sich `renderHtmlAsPdf` zum Generieren von PDFs aus Vorlagen, die auf der Festplatte gespeichert oder von einem Webserver bereitgestellt werden.
[[t:(Pfad, die Backslashes im Windows-Stil verwenden (`C:\invoices\`), sollten in Schrägstriche umgewandelt oder `Paths.get()` für plattformübergreifende Kompatibilität verwendet werden.)]]
## Wie konvertiere ich eine URL in ein PDF in Java?
`PdfDocument.renderUrlAsPdf` ruft eine Live-Webseite an 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.
```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");
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-7.webp" target="_blank"><img src="/static-assets/ironpdf-java/tutorials/html-to-pdf/html-to-pdf-7.webp" alt="PDF-Ausgabe des Wikipedia-Artikels zum PDF-Format, das das Seitenlayout und den durch PdfDocument.renderUrlAsPdf gerenderten Inhalt zeigt" class="img-responsive add-shadow" /></a>
<p class="content__image-caption">Die <code>PdfDocument.renderUrlAsPdf</code>-Methode erfasst den vollständigen gerenderten Zustand einer Webseite, einschließlich von JavaScript gerenderten Inhalten.</p>
</div>
</div>
`renderUrlAsPdf` wartet, bis die JavaScript-Ausführung abgeschlossen ist, bevor die gerenderte Seite erfasst wird, was bedeutet, dass dynamisch generierte Inhalte (wie Diagramme oder über AJAX geladene Daten) im Ausgabe-PDF erscheinen.
Für die gleichwertige .NET-Implementierung oder zusätzliche URL-zu-PDF-Optionen, siehe das [URL zu PDF Codebeispiel](/java/examples/converting-a-url-to-a-pdf/).
## Wie konvertiere ich eine HTML-Datei in ein PDF in Java?
`PdfDocument.renderHtmlFileAsPdf` liest eine lokale HTML-Datei 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.
```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.
[[i:(Der HTML-Dateipfad muss absolut sein. Relative Pfade, die an `renderHtmlFileAsPdf` übergeben werden, werden aus dem JVM-Arbeitsverzeichnis aufgelöst, was in Serverumgebungen unerwartete Ergebnisse liefern kann.)]]
## Wie passe ich die PDF-Ausgabeeinstellungen an?
Die `PdfRenderOptions` Klasse steuert das Seitenlayout und das Renderverhalten. Erstellen Sie eine `PdfRenderOptions` Instanz, konfigurieren Sie die erforderlichen Eigenschaften und übergeben Sie sie an eine der Rendering-Methoden.
```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 `PdfRenderOptions` Klasse bietet zusätzliche Eigenschaften zur Steuerung von DPI, Viewport-Breite, Papierausrichtung und Zeitlimit-Werten. Siehe das [PDF-Generierungseinstellungen-Codebeispiel](/java/examples/pdf-generation-settings/) 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.
```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 `{page}` und `{total-pages}` Zusammenführungsfelder werden zur Renderzeit durch die aktuelle Seitenzahl und die Gesamtseitenzahl ersetzt. Für fortgeschrittenere Layouts, wie 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](/java/examples/headers-and-footers/).
[[t:(Kopf- und Fußzeilen werden innerhalb der Seitenränder gerendert. Erhöhen Sie den oberen oder unteren Rand, bevor Sie Kopf- oder Fußzeilen anwenden, um Überlappungen mit dem Seiteninhalt zu verhindern.)]]
## Wie setze ich benutzerdefinierte Ränder und Seitengröße?
Seitengröße und Ränder werden am `PdfRenderOptions` Objekt konfiguriert, bevor das PDF gerendert wird. IronPDF unterstützt Standardpapiergrößen (A4, Letter, Legal) und vollständig benutzerdefinierte Dimensionen.
```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](/java/examples/custom-pdf-paper-size/) und das [Codebeispiel für benutzerdefinierte Ränder](/java/examples/ironpdf-set-custom-margins/) an.
## Wie füge ich ein Wasserzeichen zu einem PDF hinzu?
`PdfDocument.applyWatermark` wendet ein Text- oder Bildwasserzeichen auf jede Seite im Dokument an. Das Wasserzeichen wird standardmäßig auf einer separaten Ebene unterhalb des Seiteninhalts gerendert oder darüber, wenn das `isStampBehind` Flag auf `false` gesetzt ist.
```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](/java/how-to/custom-watermark/).
## Wie extrahiere ich Text aus einem PDF in Java?
`PdfDocument.extractAllText` liest den eingebetteten Textinhalt in einem PDF und gibt ihn als einzelnen `String` zurück. Diese Methode extrahiert auswählbaren Text von allen Seiten im Dokument.
```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](/java/examples/extract-text-from-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 im PDF eingebettete Bild. Die zurückgegebenen Bilder können direkt auf die Festplatte gespeichert oder an nachgelagerte Bildverarbeitungslogik übergeben werden.
```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](/java/examples/extract-image-from-pdf/).
## Wie komprimiere ich eine PDF-Datei?
`PdfDocument.compressImages` reduziert die PDF-Dateigröße, indem eingebettete Bilder in niedrigerer Qualität neu codiert werden. Die Methode akzeptiert einen Qualitätswert von 1 (Mindestqualität, kleinste Datei) bis 100 (Maximalqualität).
```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](/java/examples/pdf-compression/).
[[t:(Ein Qualitätswert zwischen 40 und 70 bietet typischerweise einen guten Kompromiss zwischen Dateigrößenreduktion und visueller Treue für die meisten PDF-Anwendungsfälle.)]]
## Wie drucke ich ein PDF programmatisch?
`PdfDocument.print` sendet ein PDF an den Standarddrucker des Systems unter Verwendung der Standard-Java-Druck-API. Die Methode akzeptiert einen booleschen Wert, der steuert, ob ein Druckdialog angezeigt wird.
```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 `print` Methode, um das Systemdruckdialogfeld anzuzeigen, sodass Benutzer einen Drucker auswählen und Druckeinstellungen konfigurieren können, bevor der Auftrag gesendet wird.
## Nächste Schritte
In diesem Tutorial wurden die wichtigsten HTML-zu-PDF-Umwandlungsmethoden in IronPDF for Java behandelt, zusammen mit der Installation, Konfiguration und den häufigsten Dokumentverarbeitungsoperationen.
Um noch weiter zu gehen:
1. Durchsuchen Sie die vollständige Reihe von [HTML zu PDF Java Codebeispielen](/java/examples/using-html-to-create-a-pdf/) für zusätzliche Renderingszenarien, die hier nicht behandelt wurden.
2. Lesen Sie die [IronPDF for Java-Dokumentation](/java/docs/), um Bereitstellung, Thread-Sicherheit und Serverkonfiguration zu verstehen.
3. Erkunden Sie die vollständige [IronPDF Java API-Referenz](/java/object-reference/api/) für detaillierte Methodensignaturen und Parameterbeschreibungen.
[Starten Sie eine kostenlose Testversion](#trial-license), um PDFs ohne Wasserzeichen zu erzeugen, oder [sehen Sie sich Lizenzierungsoptionen](#licensing) an, um das richtige Abonnement für Ihr Projekt zu finden.
<hr class="separator" />
#### Tutorial Schnellzugriff
<div class="tutorial-section">
<div class="row">
<div class="col-sm-4">
<div class="tutorial-image">
<img alt="IntelliJ IDEA IDE-Logo for Java-Entwicklung" class="img-responsive add-shadow" src="/img/platforms/cps-intellij.svg" style="width: 160px;" />
</div>
</div>
<div class="col-sm-8">
<h3>Dieses Tutorial als Java-Quellcode herunterladen</h3>
<p>Der vollständige HTML-zu-PDF-Java-Quellcode für dieses Tutorial steht als gezipptes IntelliJ-Projekt zum Herunterladen bereit.</p>
<a class="btn btn-white3" href="https://github.com/iron-software/IronPdfJava.Examples/archive/refs/heads/master.zip"><i class="fa fa-cloud-download"></i>Herunterladen</a>
</div>
</div>
</div>
<div class="tutorial-section">
<div class="row">
<div class="col-sm-8">
<h3>Entdecken Sie dieses Tutorial auf GitHub</h3>
<p>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.</p>
<a class="doc-link" href="https://github.com/iron-software/IronPdfJava.Examples/tree/main/tutorials/generate-pdfs" target="_blank">Java HTML zu PDF auf GitHub <i class="fa fa-chevron-right"></i></a>
</div>
<div class="col-sm-4">
<div class="tutorial-image">
<img alt="GitHub-Logo für Quellcode-Repository" class="img-responsive add-shadow" src="/img/svgs/github-icon.svg" />
</div>
</div>
</div>
</div>
<div class="tutorial-section">
<div class="row">
<div class="col-sm-4">
<div class="tutorial-image">
<img style="max-width: 110px; width: 100px; height: 140px;" alt="IronPDF Java API-Referenzdokumentationsicon" class="img-responsive add-shadow" src="/img/svgs/documentation.svg" width="100" height="140" />
</div>
</div>
<div class="col-sm-8">
<h3>Sehen Sie sich die API-Referenz an</h3>
<p>Erkunden Sie die IronPDF Java API-Referenz, die alle Namespaces, Klassen, Methoden und Enums in der Bibliothek abdeckt.</p>
<a class="doc-link" href="/java/object-reference/api/" target="_blank">Sehen Sie sich die API-Referenz an <i class="fa fa-chevron-right"></i></a>
</div>
</div>
</div>
IronPDF for Java konvertiert HTML-Inhalte in pixelperfekte PDF-Dokumente mit der gleichen Rendering-Engine, die in modernen Browsern zu finden ist. Java-Anwendungen können PDFs aus HTML-Strings, lokalen HTML-Dateien oder Live-Webseiten generieren, ohne zusätzliches Rendering-Software oder eine GUI-Umgebung zu benötigen.
Dieses Tutorial deckt alle drei HTML-zu-PDF-Konvertierungsmethoden ab, die in IronPDF for Java verfügbar sind, sowie Installations-, Lizenzierungs- und Konfigurationsoptionen. Entwickler, die bereits IronPDF for .NET verwenden, werden die Java-API vertraut finden; das entsprechende .NET-Tutorial ist beim HTML zu PDF for .NET-Tutorial verfügbar.
Hinweis:: IronPDF for Java erfordert Java 8 oder höher und ist mit allen großen JVM-basierten Frameworks kompatibel, einschließlich Spring Boot, Java EE und Micronaut.
Schnellstart: Ein PDF Aus HTML Generieren
Das folgende Beispiel erstellt ein einseitiges PDF aus einem HTML-String und speichert es auf der Festplatte. Nach der Installation der Bibliothek über Maven (Schritt 1) ist dies der gesamte erforderliche Code:
import com.ironsoftware.ironpdf.*;// Apply your license key before any rendering callLicense.setLicenseKey("YOUR-LICENSE-KEY");// Render an HTML string to a PDF filePdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");pdf.saveAs("output.pdf");
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
Java
Start using IronPDF in your project today with a free trial.
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 dem dependencies Abschnitt der pom.xml Datei Ihres Projekts hinzu:
Das erste Artefakt bezieht IronPDF. Das zweite ist eine SLF4J-Logging-Implementierung. IronPDF verwendet SLF4J, um Diagnosemeldungen während des Renderns auszugeben; Sie können es mit Logback oder Log4j 2 ersetzen oder das Logging ganz weglassen.
Führen Sie mvn install im Projektstamm 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.
Tipps: Maven ist der empfohlene Ansatz für neue Projekte. Die JAR-Installation erfordert manuelle Abhängigkeitsverwaltung und kann zu Versionskonflikten in größeren Projekten führen.
Das IronPDF-Paket importieren
Alle PDF-Rendering- und Manipulation-Klassen befinden sich im com.ironsoftware.ironpdf Paket. Fügen Sie diese Importanweisung zu einer Java-Quelldatei hinzu, die IronPDF verwendet:
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
Java
Lizenzschlüssel festlegen
Ohne Lizenzschlüssel rendert IronPDF PDFs mit einem gekachelten Wasserzeichen auf jeder Seite. Um das Wasserzeichen zu entfernen, übergeben Sie einen gültigen Lizenzschlüssel an License.setLicenseKey, bevor Sie eine Rendering-Methode aufrufen:
import com.ironsoftware.ironpdf.*;// Set the license key before any rendering callLicense.setLicenseKey("YOUR-LICENSE-KEY");
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
IronPDF schreibt Rendering-Diagnosen in eine Log-Datei namens IronPdfEngine.log im Arbeitsverzeichnis der Anwendung. Rufen Sie Settings.setLogPath auf, um den Dateinamen oder den Speicherort zu ändern:
import com.ironsoftware.ironpdf.*;import java.nio.file.Paths;// Configure logging before calling any rendering methodsSettings.setLogPath(Paths.get("logs/ironpdf.log"));
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
Java
Wichtig: Rufen Sie Settings.setLogPath auf, bevor Sie eine PDF-Konvertierung oder -Manipulationsmethode ausführen. Nach dem Start des Renderings vorgenommene Aufrufe werden nicht wirksam.
Wie konvertiere ich einen HTML-String in ein PDF in Java?
PdfDocument.renderHtmlAsPdf konvertiert einen HTML-String in ein PdfDocument Objekt, das dann auf der Festplatte gespeichert oder an andere Verarbeitungsmethoden übergeben werden kann. Diese Methode akzeptiert jedes W3C-konforme HTML, einschließlich vollständiger Seitenmarkierungen mit <head> und <body> Elementen.
import com.ironsoftware.ironpdf.*;// Convert a simple HTML string to PDFPdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");// Save the resulting PDF to a filepdf.saveAs("htmlstring_to_pdf.pdf");
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
Java
Die PdfDocument.renderHtmlAsPdf-Methode rendert HTML-Markup in ein PDF, wobei alle W3C-konformen Styles und Strukturen erhalten bleiben.
Die Methode gibt eine PdfDocument Instanz zurück. Rufen Sie saveAs auf, um das PDF 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 genauso, wie es ein standardkonformer Browser tut. Das resultierende PDF spiegelt genau wider, wie die Seite aussehen würde, wenn sie in Chrome betrachtet wird.
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 Referenzen festlegt. Der Basis-Pfad kann auf ein lokales Verzeichnis oder eine URL zeigen.
import com.ironsoftware.ironpdf.*;// HTML with references to local stylesheets and imagesString 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 pathsPdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");pdf.saveAs("invoice.pdf");
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
Java
Wenn ein Basis-Pfad angegeben wird, löst renderHtmlAsPdf relative Asset-Referenzen aus diesem Verzeichnis auf und erzeugt ein vollständig gestyltes PDF.
Das Basis-Pfad-Argument funktioniert sowohl mit absoluten Dateisystempfaden als auch mit URL-Strings. Dadurch eignet sich renderHtmlAsPdf zum Generieren von PDFs aus Vorlagen, die auf der Festplatte gespeichert oder von einem Webserver bereitgestellt werden.
Tipps: Pfad, die Backslashes im Windows-Stil verwenden (C:\invoices\), sollten in Schrägstriche umgewandelt oder Paths.get() für plattformübergreifende Kompatibilität verwendet werden.
Wie konvertiere ich eine URL in ein PDF in Java?
PdfDocument.renderUrlAsPdf ruft eine Live-Webseite an 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.
import com.ironsoftware.ironpdf.*;// Render a live web page as a PDF documentPdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");pdf.saveAs("url_to_pdf.pdf");
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
Java
Die PdfDocument.renderUrlAsPdf-Methode erfasst den vollständigen gerenderten Zustand einer Webseite, einschließlich von JavaScript gerenderten Inhalten.
renderUrlAsPdf wartet, bis die JavaScript-Ausführung abgeschlossen ist, bevor die gerenderte Seite erfasst wird, was bedeutet, dass dynamisch generierte Inhalte (wie Diagramme oder über AJAX geladene Daten) im 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 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.
import com.ironsoftware.ironpdf.*;// Convert a local HTML file to PDF// IronPDF resolves relative asset paths from the HTML file's directoryPdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");pdf.saveAs("htmlfile_to_pdf.pdf");
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
Java
Dieser Ansatz funktioniert gut bei der Dokumentvorlagengenerierung: Rechnungsvorlagen, Berichte oder Zertifikate, die als HTML-Dateien zusammen mit ihren zugeordneten CSS- und Bild-Assets gespeichert sind. IronPDF rendert die Datei mit derselben Genauigkeit wie ein Browser, indem alle CSS Layout-Regeln beibehalten werden.
Hinweis:: Der HTML-Dateipfad muss absolut sein. Relative Pfade, die an renderHtmlFileAsPdf übergeben werden, werden aus dem JVM-Arbeitsverzeichnis aufgelöst, was in Serverumgebungen unerwartete Ergebnisse liefern kann.
Wie passe ich die PDF-Ausgabeeinstellungen an?
Die PdfRenderOptions Klasse steuert das Seitenlayout und das Renderverhalten. Erstellen Sie eine PdfRenderOptions Instanz, konfigurieren Sie die erforderlichen Eigenschaften und übergeben Sie sie an eine der Rendering-Methoden.
import com.ironsoftware.ironpdf.*;import com.ironsoftware.ironpdf.render.*;// Configure rendering options before generating the PDFPdfRenderOptions options = newPdfRenderOptions();// Set the zoom level (100 = normal size)options.setZoom(100);// Wait for JavaScript to finish before renderingoptions.setJavascriptTimeout(5000);// Enable printing of background colors and imagesoptions.setPrintBackground(true);PdfDocument pdf = PdfDocument.renderHtmlAsPdf( "<h1>Customized PDF</h1>", options);pdf.saveAs("customized.pdf");
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavascriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
Java
Die PdfRenderOptions Klasse bietet zusätzliche Eigenschaften zur Steuerung von DPI, Viewport-Breite, Papierausrichtung und Zeitlimit-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.
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 fieldsTextHeaderFooter header = newTextHeaderFooter();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 footerTextHeaderFooter footer = newTextHeaderFooter();footer.setLeftText("Confidential");footer.setRightText("Generated by IronPDF");pdf.addTextHeaders(header);pdf.addTextFooters(footer);pdf.saveAs("report_with_headers.pdf");
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
Java
Die {page} und {total-pages} Zusammenführungsfelder werden zur Renderzeit durch die aktuelle Seitenzahl und die Gesamtseitenzahl ersetzt. Für fortgeschrittenere Layouts, wie eine Fußzeile mit einem Firmenlogo, verwenden Sie HtmlHeaderFooter anstelle von TextHeaderFooter.
Tipps: Kopf- und Fußzeilen werden innerhalb der Seitenränder gerendert. Erhöhen Sie den oberen oder unteren Rand, bevor Sie Kopf- oder Fußzeilen anwenden, um Überlappungen mit dem Seiteninhalt zu verhindern.
Wie setze ich benutzerdefinierte Ränder und Seitengröße?
Seitengröße und Ränder werden am PdfRenderOptions Objekt konfiguriert, bevor das PDF gerendert wird. IronPDF unterstützt Standardpapiergrößen (A4, Letter, Legal) und vollständig benutzerdefinierte Dimensionen.
import com.ironsoftware.ironpdf.*;import com.ironsoftware.ironpdf.render.*;import com.ironsoftware.ironpdf.page.*;PdfRenderOptions options = newPdfRenderOptions();// Set margins in millimeters: top, right, bottom, leftoptions.setMarginTop(25);options.setMarginRight(20);options.setMarginBottom(25);options.setMarginLeft(20);// Use A4 paper sizeoptions.setPaperSize(PaperSize.A4);PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);pdf.saveAs("formatted_document.pdf");
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");
Wie füge ich ein Wasserzeichen zu einem PDF hinzu?
PdfDocument.applyWatermark wendet ein Text- oder Bildwasserzeichen auf jede Seite im Dokument an. Das Wasserzeichen wird standardmäßig auf einer separaten Ebene unterhalb des Seiteninhalts gerendert oder darüber, wenn das isStampBehind Flag auf false gesetzt ist.
import com.ironsoftware.ironpdf.*;PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");// Apply an HTML watermark; supports full CSS stylingString 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 contentpdf.applyWatermark(watermarkHtml, 50, 45, true);pdf.saveAs("draft_watermarked.pdf");
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
Java
Der HTML-Ansatz bietet präzise Kontrolle über die Gestaltung des Wasserzeichens, einschließlich Schriftart, Größe, Farbe und Transparenz. Für erweiterte Wasserzeichenkonfigurationen wie wiederholte Kachelmuster oder bildbasierte Stempel, siehe den Wasserzeichen-Anleitung.
Wie extrahiere ich Text aus einem PDF in Java?
PdfDocument.extractAllText liest den eingebetteten Textinhalt in einem PDF und gibt ihn als einzelnen String zurück. Diese Methode extrahiert auswählbaren Text von allen Seiten im Dokument.
import com.ironsoftware.ironpdf.*;// Load an existing PDF from diskPdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));// Extract all embedded text from the documentString text = pdf.extractAllText();System.out.println(text);
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
Java
Die Textextraktion funktioniert bei PDFs, bei denen Text als auswählbare Glyphen gespeichert ist. Für PDFs, die bildbasierte Scans sind, sollten Sie IronPDF mit einer OCR-Bibliothek kombinieren, um Text aus den gerenderten Seitenbildern zu extrahieren.
PdfDocument.extractAllImages gibt eine Liste von BufferedImage Objekten zurück, eines für jedes im PDF eingebettete Bild. Die zurückgegebenen Bilder können direkt auf die Festplatte gespeichert oder an nachgelagerte Bildverarbeitungslogik übergeben werden.
import com.ironsoftware.ironpdf.*;import java.awt.image.BufferedImage;import java.io.File;import java.util.List;import javax.imageio.ImageIO;// Load an existing PDFPdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));// Extract all embedded imagesList<BufferedImage> images = pdf.extractAllImages();for (int i = 0; i < images.size(); i++) {ImageIO.write(images.get(i), "PNG", newFile("extracted_image_" + i + ".png"));}System.out.println("Extracted " + images.size() + " image(s).");
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).");
PdfDocument.compressImages reduziert die PDF-Dateigröße, indem eingebettete Bilder in niedrigerer Qualität neu codiert werden. Die Methode akzeptiert einen Qualitätswert von 1 (Mindestqualität, kleinste Datei) bis 100 (Maximalqualität).
import com.ironsoftware.ironpdf.*;// Load a large PDF with embedded imagesPdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));// Compress images to 60% quality to reduce file sizepdf.compressImages(60);pdf.saveAs("large_report_compressed.pdf");
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
Java
Die Bildkompression ist der effektivste Weg, um die Größe von PDFs zu reduzieren, die Fotografien oder hochauflösende Grafiken enthalten. Für zusätzliche Strategien zur Reduzierung der Dateigröße, wie das Entfernen eingebetteter Schriftarten, siehe das PDF-Komprimierung-Codebeispiel.
Tipps: Ein Qualitätswert zwischen 40 und 70 bietet typischerweise einen guten Kompromiss zwischen Dateigrößenreduktion und visueller Treue für die meisten PDF-Anwendungsfälle.
Wie drucke ich ein PDF programmatisch?
PdfDocument.print sendet ein PDF an den Standarddrucker des Systems unter Verwendung der Standard-Java-Druck-API. Die Methode akzeptiert einen booleschen Wert, der steuert, ob ein Druckdialog angezeigt wird.
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);
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
Java
Übergeben Sie true an die print Methode, um das Systemdruckdialogfeld anzuzeigen, sodass Benutzer einen Drucker auswählen und Druckeinstellungen konfigurieren können, bevor der Auftrag 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.
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.
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.
Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.