Open main menu

Apache FOP (Formatting Objects Processor)

  (Redirected from Formatting Objects Processor)

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.

Apache FOP
Original author(s)James Tauber
Developer(s)Apache Software Foundation
Stable release
2.3 / May 24, 2018; 8 months ago (2018-05-24)
Written inJava
Operating systemCross-platform
LicenseApache License 2.0

FOP is open source software, and is distributed under the Apache License 2.0.


Current StatusEdit

The latest version of Apache FOP is 2.3[1]. This is the seventh stable release and implements a substantial subset of the W3C XSL-FO 1.1 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.

Major LimitationsEdit

Most important elements added in XSL-FO 1.1 (flow maps, table markers, indexes. etc.) are not available [2]

In addition, older XSL-FO 1.0 features are still not fully supported including automatic table layout, floats and more.

Input SupportEdit

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.[3] In versions prior to 2.0, external graphics objects were limited to being drawn inline or in a block with no wrapped text.

Output FormatsEdit

Apache FOP supports the following output formats:

In progress:

See alsoEdit

External linksEdit


  1. ^ "Apache FOP Status".
  2. ^ "Apache FOP XSL-FO Compliance".
  3. ^ "Apache FOP 2.0 release notes". Retrieved 2015-12-18.
  4. ^ "FOP 0.95 - PDF/X (ISO 15930)". Retrieved 2011-05-22.