The engine is written in Go and ships bundled in the JAR via Panama FFI (JEP 454). No JNI, no separate process. JDK 22+, one flag: --enable-native-access=ALL-UNNAMED.
Document.create("report.pdf", doc -> {
doc.add(Heading.of("Q3 Report", HeadingLevel.H1));
doc.add(Paragraph.of("Revenue grew 23% year over year."));
doc.add(Table.of(
new String[]{"Product", "Revenue"},
new String[]{"Widget A", "$48,000"}
));
});
HTML to PDF is a one-liner: HtmlConverter.toPdf("<h1>Invoice</h1><p>Due: $1,200</p>", "invoice.pdf");
Beyond that it covers PAdES signatures, PDF redaction, Flexbox and Grid layout, forms, barcodes, SVG, PDF/A, and encryption. Zero runtime dependencies.https://github.com/carlos7ags/folio-java
Go engine: https://github.com/carlos7ags/folio
Playground (runs the Go engine directly): https://playground.foliopdf.dev