BFOs PDF library for creating, editing, displaying and printing Acrobat PDF documents. The PDF API is small, fast, easy to use and integrate into your projects, and is completely written in Java.
The PDF Library reads and writes PDFs for all versions of Acrobat, and boasts a dynamic range of features including:
Transparent Unicode support - create documents in Arabic, Russian or Japanese as easily as English
TrueType and Type1 fonts, with subsetting for smaller files. Great for OCR
PDF Encryption, for password-protected documents (40 and 128 bit RC4 or AES)
Embed JPEG, PNG, GIF, TIFF or java.awt.Image images, or add Barcodes directly to the PDF
Use Spot colors, calibrated ICC profiles and other advanced colorspaces
Add HTML-style Hyperlinks to text or images
Process 1000+ words a second with kerning, ligatures, justification and ‘curly quotes’ for legibility
Simplify complex document creation by defining and applying "Styles"
Full support for PDF features like bookmarks, compression and document meta-information
Non-linear creation of documents - pages can be created and edited in any order... More Info »
The Extended Edition of the Java PDF Library offers additional features:
Load and edit existing PDF documents, as templates or merge with others
Create and edit interactive Forms, or "AcroForm"
Digitally sign documents, or verify existing digital signatures
Can read and write Linearized or "web ready" PDFs, designed for faster downloading
Java PDF Viewer
On top of the Extended edition, the Viewer Extension can be used to display PDFs:
Swing component for displaying PDF documents
Convert PDF to Tiff (or any other bitmap format)
Extract and index text and images from PDF documents, including integration with Apache Lucene
Print PDF documents, including support for annotations and other PDF features not supported by Java 5 printing
Create PDF/A documents: Pre-flight new or existing PDFs against various PDF/A and PDF/X profiles