Formatting Objects Processor
| Company type | Open source software project |
|---|---|
| Industry | Software |
| Founded | 1999 |
| Founder | James Tauber |
| Headquarters | Worldwide |
| Products | XSL-FO formatting processor, PDF generator, print output generator |
| Owner | Apache Software Foundation |
| Website | xmlgraphics |
Formatting Objects Processor (commonly referred to as FOP or Apache FOP) is a Java-based tool designed to transform XSL Formatting Objects (XSL-FO) documents into PDF files and other printable outputs. Initially created by James Tauber, who contributed the project to the Apache Software Foundation in 1999, FOP is currently maintained under the umbrella of the Apache XML Graphics initiative.
FOP is available as open source software and is licensed under the Apache License 2.0.
Current status
The most recent stable release of Apache FOP is version 2.11.
Major limitations
Several important features from XSL-FO 1.1, such as flow maps, table markers, and index generation, are not yet supported. Furthermore, certain capabilities from XSL-FO 1.0—like automatic table layout and floating elements—have only been partially realized.
Input support
FOP enables the integration of multiple image types within XSL-FO documents through the <fo:external-graphic> tag, supporting formats including:
The <fo:float> element has limited functionality; before version 2.0, external graphics could be included only inline or as block elements without allowing text to wrap around them.
Output formats
Apache FOP primarily generates output in:
- PDF, with partial compatibility for PDF/X and PDF/A standards
- Plain text (ASCII)
- PostScript
- Direct printing formats such as PCL
- AFP
- RTF
- Rendering via Java2D/AWT, supporting display, printing, and export to image formats like PNG and TIFF
Formats currently under development include:
See also
- XSL Formatting Objects (XSL-FO)
- XSL