Apache FOP is the world's first print formatter driven by XSL formatting objects. It is a Java application that reads a formatting object tree conforming to the XSL 1.0 Recommendation (15 October 2001) and then turns it into a PDF document, certain other output formats or allows you to preview it directly on screen. Some parts of the XSL 1.1 specification (work in progress!) have also been implemented.

WWW: https://xmlgraphics.apache.org/fop/
