© 2001-2003
Alex Alishevskih


(Formatting Objects Processor)

FOP (Formatting Objects Processor) - The world`s first publishing system, which implements the standard W3C XSL Formatting Objects to generate a printed format of XML-documents. FOP originally created by James Tauber and is being developed as open software in the Apache XML Project.

FOP is a Java-application that renders XSL FO object trees in one of the predefined visual formats. The most common (and historically the first to implement) the scope of FOP is to get the format Adobe PDF. However, the architecture of FOP is that the engine handling formatting objects independent of the destination format. This fact has led to the realization of renderers for a variety of formats. Thus, the version of FOP 0.20.x support (in addition to PDF) output formats: Postscript, MIF (format Adobe Framemaker), PCL (printer language HP), Scalable Vector Graphics (SVG), a formatted plain text and XML (for the purposes of testing.) Note that at this time the implementation of these formats (except PDF) is experimental and may have some problems. In addition, FOP implements XSLFO-screen visualization of the document (means AWT), and direct you to print documents. In October 2001, the FOP has joined the project JFor - engine XSLFO for RTF, but the version of FOP, realizing this possibility, not yet released.

Opportunities FOP (0.20.4)

  • Partial implementation of the specification XSL-FO Version 1.0 W3C Recommendation. About the compliance of the standard FOP XSL FO, see page FOP Standards Compliance on the project site.
  • Implementation of the standard Adobe PDF 1.3, including a mechanism for CID-fonts
  • Multi language support, including the ability to selectively adjust the translations for each language. Hyphenation patterns for many languages (including Russian) included in the distribution.
  • Using custom fonts, TrueType and Type1
  • Vector graphics support Scalable Vector Graphics (SVG)
  • Integrated support for image formats GIF, JPEG, and EPS (experimental). Using external libraries (Jimi or JAI) it is possible to use any of the formats supported by these libraries (including PNG, PSD, TIFF, BMP, etc.)
  • Extension XSL FO to create PDF bookmarks (for viewing in Acrobat Reader)
  • The possibility of protected PDF files (PDF encryption)
  • The modular architecture, in particular, support JAXP and TRAX API, as well as Avalon Framework.
  • The ability to use FOP Java API for processing XSL FO in your own applications. A successful example of an application that is integrated with FOP - popular medium for XML-Publishing Apache Cocoon, where FOP is used to dynamically generate PDF are online.

Russification FOP

Starting with version 0.19 FOP works correctly with Cyrillic (and other alphabets) using Unicode-fonts. In fact, the Russification of FOP is now reduced to connect these fonts for their introduction CID-subsets of PDF. To learn how to do this, read:

See also:

© 2002 - 2013
SourceForge Logo