Apache FOP (Formatting Objects Processor) is a print formatter driven
by XSL formatting objects (XSL-FO) and an output independent formatter.
It is a Java application that reads a formatting object (FO) tree and
renders the resulting pages to a specified output.
Output formats currently supported include PDF, PS, PCL, AFP, XML
(area tree representation), Print, AWT and PNG, and to a lesser extent,
RTF and TXT. The primary output target is PDF.
The goals of the Apache FOP project are to deliver an XSL-FO to PDF
formatter that is compliant to at least the Basic conformance level
described in the W3C Recommendation from 05 December 2006, and that
complies with the November 2001 Portable Document Format Specification
(Version 1.4) from Adobe Systems.
jai is an optional but recommended dependency.