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.
Conformance to the XML 1.0 and 1.1 Recommendations, XSLT 1.0 and 2.0
Recommendations and the XML Namespaces Recommendation is understood.
Other relevant documents, such as the XPath and XLink Working Drafts,
are referenced as necessary. The FOP Project will attempt to use the
latest version of evolving specifications.
The default build is for jdk 7 and 8 (including openjdk). To build
on jdk11 and newer, pass JDK11=yes to the build scrip. If you are
still running the (incredibly ancient) jdk 6, please use fop2.0, also
available on SBo.
Requires apache-ant and apache-maven.
jai and jai-imageio are optional but recommended dependencies.