HTML zu PDF · Java
HTML zu PDF mit Java und Open HTML to PDF
Open HTML to PDF ist eine Java-Bibliothek, die wohlgeformtes XHTML mit CSS 2.1 und Teilen von CSS 3 nach PDF rendert. Sie setzt auf PDFBox auf, braucht keinen Browser und unterstuetzt PDF/A fuer die Langzeitarchivierung.
Code-Beispiel
import com.openhtmltopdf.pdfboxout.PdfRendererBuilder;
import java.io.FileOutputStream;
String html = "<html><body><h1>Zeugnis</h1>"
+ "<p>Note: sehr gut.</p></body></html>";
try (FileOutputStream os = new FileOutputStream("zeugnis.pdf")) {
PdfRendererBuilder builder = new PdfRendererBuilder();
builder.withHtmlContent(html, "/");
builder.toStream(os);
builder.run();
} Hinweise
Open HTML to PDF ist der gepflegte Nachfolger von Flying Saucer und die Standardwahl, wenn PDFs ohne Browser direkt aus der JVM entstehen sollen. Die Bibliothek erwartet wohlgeformtes XHTML, da sie das Dokument als XML parst. Unsauberes HTML muss vorher etwa mit jsoup bereinigt werden. Bei der Darstellung deckt sie CSS 2.1 vollstaendig und Teile von CSS 3 ab, darunter @page-Regeln, Seitenumbrueche, benannte Seiten sowie Kopf- und Fusszeilen ueber running elements. Flexbox und Grid fehlen, weshalb Layouts klassisch ueber Tabellen und Block-Elemente aufgebaut werden. Ein starkes Argument ist die Unterstuetzung von PDF/A und PDF/UA, was die Bibliothek fuer Archivierung und Barrierefreiheit in Behoerden- und Unternehmensumgebungen interessant macht. Schriften bindest du explizit ueber useFont ein, SVG ueber ein Zusatzmodul. Fuer Java-Projekte mit klaren Druckanforderungen und Archivierungspflichten ist Open HTML to PDF zuverlaessig und gut wartbar.
FAQ
Häufige Fragen
Muss mein HTML wohlgeformtes XHTML sein?
Ja. Die Bibliothek parst das Dokument als XML und scheitert an unsauberem Markup. Reinige HTML vorher mit einem Parser wie jsoup, bevor du es uebergibst.
Kann Open HTML to PDF PDF/A erzeugen?
Ja. Ueber den PdfRendererBuilder laesst sich ein PDF/A-Konformitaetsgrad setzen. Das eignet sich fuer Archivierung und rechtssichere Langzeitspeicherung von Dokumenten.
Ohne Code geht es auch: Der HTML-zu-PDF-Converter wandelt direkt im Browser um, ohne Installation und ohne Upload.