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.