FOP
FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects (XSL-FO) and the world's first output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output.
Gnujpdf
gnujpdf is a Java package (gnu.jpdf.*) licensed under the LGPL. It provides a simple API to create pdf files and print using subclasses of java.awt.Graphics and java.awt.PrintJob. The PDF classes write to an OutputStream in pdf format instead of a typical Graphics object, but the method calls are the same as they would be in any Applet or Application drawing to a canvas.
iText
iText is a library that allows you to generate PDF files on the fly. The iText classes are very useful for people who need to generate read-only, platform independent documents containing text, lists, tables and images.
JFreeReport
Java reporting tool for formatting PDF reports. It is possible to simply hand off a swing TableModel to JFreeReport and get a paginated pdf as a result.
PDFBox
PDFBox is an open source Java library for working with PDF documents. This project allows creation of new PDF documents, manipulation of existing documents and the ability to extract content from documents. PDFBox also includes several command line utilities.
PJX
PJ is a class library in Java that implements a simplified programmatic interface to PDF documents. Its general features are: reading, parsing, modifying, and extracting data from existing PDF documents, and creating new PDF documents.