FOP
Encyclopedia
Formatting Objects Processor (FOP) is a Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 application that converts XSL Formatting Objects
XSL Formatting Objects
XSL Formatting Objects, or XSL-FO, is a markup language for XML document formatting which is most often used to generate PDFs. XSL-FO is part of XSL , a set of W3C technologies designed for the transformation and formatting of XML data. The other parts of XSL are XSLT and XPath...

 (XSL-FO) files to PDF
Portable Document Format
Portable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....

 or other printable formats.
FOP was originally developed by James Tauber who donated it to the Apache Software Foundation
Apache Software Foundation
The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999.The Apache Software Foundation is a decentralized community of developers...

 in 1999. It is part of the Apache XML Graphics project.

FOP is open source software, and is distributed under the Apache License
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

 2.0.

Current Status

The latest version of Apache FOP is 1.0. This is the third stable release after a large redesign effort and implements a large subset of the XSL-FO Version 1.1 W3C 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 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 supported including automatic table layout, floats and more.

Input Support

Apache FOP supports embedding a number of image formats in the XSL-FO (through the element). These include:
  • SVG
    Scalable Vector Graphics
    Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

  • PNG
  • Bitmap BMP
  • PostScript
    PostScript
    PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...

     (as EPS)
  • JPEG
    JPEG
    In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

  • Some TIFF formats.


Apache FOP does not implement the element. External graphics objects are thus limited to being drawn inline or in a block with no wrapped text.

Output Formats

Apache FOP supports the following output formats:
  • PDF (best output support), including PDF/X
    PDF/X
    PDF/X is an umbrella term for several ISO standards that define a subset of the PDF standard. The purpose of PDF/X is to facilitate graphics exchange, and it therefore has a series of printing related requirements which do not apply to standard PDF files. For example, in PDF/X-1a all fonts need to...

     and PDF/A
    PDF/A
    PDF/A is an ISO-standardized version of the Portable Document Format specialized for the digital preservation of electronic documents.PDF/A differs from PDF by omitting features ill-suited to long-term archiving, such as font linking...

     with some limitations
  • ASCII
    ASCII
    The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

     text file facsimile
  • PostScript
    PostScript
    PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...

  • Direct printer output (PCL)
  • AFP
    Advanced Function Presentation
    Advanced Function Presentation is a presentation architecture and family of associated printer software and hardware that provides for document and information presentation independent of specific applications and devices....

  • RTF
    Rich Text Format
    The Rich Text Format is a proprietary document file format with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform document interchange....

  • Java2D/AWT
    Abstract Window Toolkit
    The Abstract Window Toolkit is Java's original platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is now part of the Java Foundation Classes — the standard API for providing a graphical user interface for a Java program.AWT is also the GUI toolkit for a...

     for display, printing, and page rendering to PNG and TIFF
    Tagged Image File Format
    TIFF is a file format for storing images, popular among graphic artists, the publishing industry, and both amateur and professional photographers in general. As of 2009, it is under the control of Adobe Systems...



In progress:
  • MIF
    Maker Interchange Format
    Maker Interchange Format is a proprietary markup language associated with Adobe Systems' FrameMaker product for technical document preparation....

  • SVG
    Scalable Vector Graphics
    Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...


See Also

  • XSL Formatting Objects
    XSL Formatting Objects
    XSL Formatting Objects, or XSL-FO, is a markup language for XML document formatting which is most often used to generate PDFs. XSL-FO is part of XSL , a set of W3C technologies designed for the transformation and formatting of XML data. The other parts of XSL are XSLT and XPath...

     (XSL-FO)
  • XSL
    Extensible Stylesheet Language
    In computing, the term Extensible Stylesheet Language is used to refer to a family oflanguages used to transform and render XML documents....


External Links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK