http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Download
Running FOP
Features
Limitations
Bugs
Examples

Compiling
Embedding
Getting involved
Architecture

FAQs
Specifications
License

What is FOP?
 

FOP is the world's first print formatter driven by XSL formatting objects. It is a Java application that reads a formatting object tree and then turns it into a PDF document. The formatting object tree, can be in the form of an XML document (output by an XSLT engine like XT or Xalan) or can be passed in memory as a DOM Document or (in the case of XT) SAX events.

FOP is part of Apache's XML project. The homepage of FOP is http://xml.apache.org/fop. A list of the committers to this project and the tasks they are working on can be found in the file Status


FOP Objectives
 

The goals of the Apache XML FOP Project are to deliver an XSL FO->PDF formatter that is compliant to at least the Basic conformance level described in the 27 March 2000 XSL WD, and that complies with the 11 March 1999 Portable Document Format Specification (Version 1.3) from Adobe Systems.

Conformance to the XML 1.0 Recommendation, XSLT 1.0 Recommendation and the XML Namespaces Recommendation is understood. Other relevant documents, such as the XPath and XLink Working Drafts, are referenced as necessary. The FOP Project will attempt to use the latest version of evolving specifications.

Secondary goals of the FOP Project (also, "FOP") are desirable requirements that also have a high priority.

One secondary goal of the FOP Project is to deliver a follow-on version of the formatter that is compliant to the Extended conformance level described in the XSL FO. Any formatting objects that cannot be translated into PDF will be explicitly identified as such.

Another secondary goal is to promote the conversion of SVG into PDF. The most natural mechanism for doing so is within fo:instream-foreign-object FO's. The powerful graphics offered by both SVG and PDF are a natural fit, and it is desirable that FOP natively supports an SVG content processor for the fo:instream-foreign-object.

A final secondary goal is the continued refinement of the FOP design and implementation. In particular, maintaining the separation between formatting and rendering, continuing to support the AWT Viewer renderer (backend), and providing new renderers, are all desirable objectives.



Copyright © 1999 The Apache Software Foundation. All Rights Reserved.