Formatting Objects Processor (FOP, also known as Apache FOP) is a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
application that converts
XSL Formatting Objects
XSL-FO (XSL Formatting Objects) is a markup language for XML document formatting that is most often used to generate PDF files. XSL-FO is part of Extensible Stylesheet Language, XSL (Extensible Stylesheet Language), a set of W3C technologies design ...
(XSL-FO) files to
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
or other printable formats.
FOP was originally developed by
James Tauber
James is a common English language surname and given name:
*James (name), the typically masculine first name James
* James (surname), various people with the last name James
James or James City may also refer to:
People
* King James (disambiguat ...
who donated it to the
Apache Software Foundation
The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
in 1999. It is part of the
Apache XML Graphics project.
FOP is
open source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open ...
, and is distributed under the
Apache License 2.0.
Current status
The latest version of Apache FOP is 2.8. This is the eleventh stable release.
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 fully 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
*
PNG
* Bitmap
BMP
*
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
(as EPS)
*
JPEG
JPEG ( ) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and imag ...
* Some
TIFF
Tag Image File Format, abbreviated TIFF or TIF, is an image file format for storing raster graphics images, popular among graphic artists, the publishing industry, and photographers. TIFF is widely supported by scanning, faxing, word processin ...
formats.
Apache FOP implements the
element with some limitations. In versions prior to 2.0, external graphics objects were limited to being drawn inline or in a block with no wrapped text.
Output formats
Apache FOP supports the following output formats:
*
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
(best output support), including
PDF/X
PDF/X is a subset of the PDF ISO 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 t ...
and
PDF/A
PDF/A is an ISO-standardized version of the Portable Document Format (PDF) specialized for use in the archiving and long-term preservation of electronic documents. PDF/A differs from PDF by prohibiting features unsuitable for long-term archiving, ...
with some limitations
*
ASCII
ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
text file facsimile
*
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
* Direct printer output (
PCL)
*
AFP
*
RTF
*
Java2D
Java 2D is an API for drawing two-dimensional Computer graphics, graphics using the Java (programming language), Java programming language. Every Java 2D drawing operation can ultimately be treated as ''filling'' a ''shape'' using a ''paint'' and ...
/
AWT for display, printing, and page rendering to
PNG and
TIFF
Tag Image File Format, abbreviated TIFF or TIF, is an image file format for storing raster graphics images, popular among graphic artists, the publishing industry, and photographers. TIFF is widely supported by scanning, faxing, word processin ...
In progress:
*
MIF
*
SVG
See also
*
XSL Formatting Objects
XSL-FO (XSL Formatting Objects) is a markup language for XML document formatting that is most often used to generate PDF files. XSL-FO is part of Extensible Stylesheet Language, XSL (Extensible Stylesheet Language), a set of W3C technologies design ...
(XSL-FO)
*
XSL
In computing, the term Extensible Stylesheet Language (XSL) is used to refer to a family of
languages used to transform and render XML documents.
Historically, the W3C XSL Working Group produced a draft specification under the name "XSL," which ...
External links
Apache FOP ProjectXSL-FO formatter comparison
References
FOP
Fop is a pejorative term for a foolish man.
FOP or fop may also refer to:
Science and technology
* Feature-oriented positioning, in scanning microscopy
* Feature-oriented programming, in computer science, software product lines
* Fibrodysplasia ...
Free system software
Free software programmed in Java (programming language)
Java (programming language) libraries
{{compu-library-stub