Formatting Objects Processor
Java-based document converter

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.
FOP is open source software, and is distributed under the Apache License 2.0.
01Current status
The latest version of Apache FOP is 2.11.
02Major limitations
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.
03Input support
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.
04Output formats
Apache FOP supports the following output formats:
- PDF (best output support), including PDF/X and PDF/A with some limitations
- ASCII text file facsimile
- PostScript
- Direct printer output (PCL)
- AFP
- RTF
- Java2D/AWT for display, printing, and page rendering to PNG and TIFF
- XML (Area Tree XML)
- Bitmap (TIFF/PNG)
In progress:
Sources and credits
This article is adapted from the Wikipedia article “Formatting Objects Processor”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Images, from Wikimedia Commons:
- Apache FOP logo.png by Apache Software Foundation, Apache License 2.0
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.