PDFjet for Java: professional PDFs at jet speed.
One small JAR. No dependencies. Royalty-free. Everything you need to turn your data into documents your users will love — generated in milliseconds, and written out page by page as you go, so even the biggest reports need remarkably little memory.
Tables and reports
- Table flows across as many pages as it needs and repeats its header rows on each one
- Cells hold text, images, barcodes, charts — even other tables
- Merged cells, colors, borders, padding and alignment, cell by cell
- BigTable draws reports of any length, straight from a file or from your own data, with flat memory
- Choose and order the columns, shade alternate rows, customize the footer
- "Page X of N" footers on every page
- Reads comma, pipe and tab separated data, quoted fields included
Text and typography
- TextBlock wraps text to a width, aligns it and fits it to a height
- TextColumn sets justified paragraphs that mix fonts, sizes and colors
- TextFrame flows long text from column to column and page to page
- Markdown to PDF: headings, lists, tables and links, tagged in a PDF/UA document
- Highlight keywords in color, underline, strike out, rotate
- Subscripts and superscripts, such as H2O and E=mc2
Fonts and languages
- Unicode everywhere
- A rich set of ready-to-use fonts, pre-compressed so they embed in an instant
- Latin, Greek, Cyrillic, Chinese, Japanese, Korean and Thai
- Right-to-left Arabic, Hebrew and Persian, with letters joined and marks placed
- Monospaced, math and symbol fonts for code, formulas and icons
- Use any OpenType or TrueType font of your own
Charts and calendars
- Scatter charts with trend lines
- Bar charts: horizontal or vertical, grouped or stacked
- Donut charts
- Monthly calendars
Graphics
- Lines, rectangles, rounded rectangles, circles, ellipses and arcs
- Polygons, Bézier curves and complex paths
- Stars, arrows, diamonds and more markers
- Transparency, dashed lines, line caps and joins
- Rotate, scale and group content with Container
- Stamp headers, footers and watermarks: stored once, placed on every page, files stay small
- Layers your readers can show or hide
- Printed forms: labeled fields, check boxes and radio buttons, ready to fill in by hand
Images
- PNG in every color type and bit depth, with transparency
- JPEG and BMP
- SVG, drawn as crisp vector graphics at any zoom
Barcodes
- UPC-A, EAN-13, Code 39 and Code 128
- QR Code, Data Matrix and PDF417
- Drawn as vector graphics — no barcode fonts to buy or license
Interactive documents
- Hyperlinks on text, images and shapes
- Links to any place in the document
- Nested, automatically numbered bookmarks
- File attachments and annotations
Accessible and archival
- PDF/UA-1 tagged documents for screen readers, in one setting; you write the image descriptions
- PDF/A-1a, 1b, 2a, 2b, 3a and 3b for long-term archiving, in one setting
Security
- AES-256 encryption with user and owner passwords
- Permissions: allow or deny printing, copying, editing and more
- Opens encrypted documents too
Your existing PDFs
- Open a PDF and add to its pages: fill in a form, stamp a watermark
- Merge documents into one, with your own cover page in front
- Split a document into single pages or any selection of pages
- Reuse a page of another PDF, such as your logo
Built for production
- Writes to any output stream: files, web responses, cloud storage
- Catches mistakes in your code with a clear message instead of writing a broken PDF
- Hardened against malformed and malicious input
- A fluent API: chain your calls
- Letter, Legal, Tabloid, Executive, A3, A4, A5, B5 and JIS B5 pages, or any size you like
- 50 ready-to-run examples, each with the PDF it creates
How fast?
We timed PDFjet for Java against Apache PDFBox, iText and OpenPDF on five everyday documents: an invoice, a 12-page statement, an 18-page report with photos, a notice in eight languages, and a batch of 1,000 letters.
- With IBM Plex Sans, PDFjet was the fastest of the four on every document.
- A fresh process makes its first PDF with PDFjet in 38 to 86 ms; the others take 127 to 540 ms. That matters for command-line tools and serverless functions.
- PDFBox makes the smallest files, and with the larger Noto Sans font it was the fastest on three of the five documents.
The full report, with every chart, the features of each library, and the code to run it yourself: Generating PDFs in Java: four libraries compared.
Requirements: Java 8 or later.
©2026 PDFjet Software.