Formatting Objects Processor
|Original author(s)||James Tauber|
|Developer(s)||Apache Software Foundation|
2.1/ January 14, 2016
|License||Apache License 2.0|
Formatting Objects Processor (FOP, also known as Apache FOP) is a Java application that converts XSL Formatting Objects (XSL-FO) files to PDF or other printable formats. FOP was originally developed by James Tauber who donated it to the Apache Software Foundation in 1999. It is part of the Apache XML Graphics project.
The latest version of Apache FOP is 2.1. This is the fifth stable release and implements a large subset of the XSL-FO Version 1.1 W3C Recommendation. In version 0.95, the code had undergone a substantial rewrite compared to 0.20.5 which was the previous stable version. As of release 0.91alpha, FOP became much more compliant to the XSL-FO Recommendation.
Most important elements added in XSL-FO 1.1 (flow maps, table markers, indexes. etc.) are not available 
In addition, older XSL-FO 1.0 features are still not fully supported including automatic table layout, floats and more.
Apache FOP supports embedding a number of image formats in the XSL-FO (through the
<fo:external-graphic> element). These include:
Apache FOP implements the
<fo:float> element with some limitations. In versions prior to 2.0, external graphics objects were limited to being drawn inline or in a block with no wrapped text.
Apache FOP supports the following output formats:
- PDF (best output support), including PDF/X and PDF/A with some limitations
- ASCII text file facsimile
- Direct printer output (PCL)
- Java2D/AWT for display, printing, and page rendering to PNG and TIFF
- Apache FOP Project
- Ecrion Software Visual XSL-FO Editor/Designer and FOP Cleanup Plug-In
- XSL-FO formatter comparison
- VelFop: Dynamic FOP with Velocity
- AntillesXML (GUI for FOP and other Processors)
- FOP Development Tools
- Free, ready-to-use Apache FOP webservice
|This computer-library-related article is a stub. You can help Wikipedia by expanding it.|