# Apache Formatting Objects Processor (FOP)

Apache FOP formats and renders XSL-FO input into a variety of output formats, including PDF and PostScript.

See: Description

Control and Startup
Package | Description
--- | ---
org.apache.fop |
org.apache.fop.apps | Application classes used for running FOP embedded in other applications.
org.apache.fop.cli | This package contains the command-line client for Apache FOP.
org.apache.fop.configuration |
org.apache.fop.servlet | This package contains two sample FOP servlets.

XSL-FO Tree
Package | Description
--- | ---
org.apache.fop.datatypes | XSL Datatypes.
org.apache.fop.fo | Classes, constants and basic infrastructure for the FO tree.
org.apache.fop.fo.expr | Classes for XSL expressions and functions.
org.apache.fop.fo.extensions | Base classes for implementing extensions to XSL-FO.
org.apache.fop.fo.extensions.destination | Classes to support named destinations (only relevant for PDF output)
org.apache.fop.fo.extensions.svg | SVG extension classes which handle elements from the SVG namespace.
org.apache.fop.fo.extensions.xmp | Extension classes which handles XMP metadata.
org.apache.fop.fo.flow | All the block- and inline-level flow formatting objects.
org.apache.fop.fo.flow.table |
org.apache.fop.fo.pagination | All the pagination and declaration formatting objects.
org.apache.fop.fo.pagination.bookmarks | Formatting objects for bookmarks as defined since XSL 1.1.
org.apache.fop.fo.properties | Classes representing the various property types as well as supporting data structures for the FO tree.

Layout
Package | Description
--- | ---
org.apache.fop.layoutmgr | FOP's layout engine.
org.apache.fop.layoutmgr.inline | Layout managers for inline formatting objects and line building.
org.apache.fop.layoutmgr.list | Layout managers for lists.
org.apache.fop.layoutmgr.table | Layout managers for tables.

Area Tree
Package | Description
--- | ---
org.apache.fop.area | FOP's area tree.
org.apache.fop.area.inline | FOP's area tree: inline-level areas
org.apache.fop.traits | Trait classes and other supporting data structures.

Paginated Rendering
Package | Description
--- | ---
org.apache.fop.render | Generic renderer interface.
org.apache.fop.render.afp | An AFP Renderer implementation and supporting classes.
org.apache.fop.render.afp.exceptions |
org.apache.fop.render.afp.extensions |
org.apache.fop.render.awt | AWT Renderer used for displaying rendered pages in Java applications.
org.apache.fop.render.awt.viewer | AWT Viewer PreviewDialog and PreviewPanel.
org.apache.fop.render.bitmap | Bitmap Renderer which creates TIFF and PNG images from rendered pages.
org.apache.fop.render.extensions.prepress |
org.apache.fop.render.gradient |
org.apache.fop.render.intermediate |
org.apache.fop.render.intermediate.extensions |
org.apache.fop.render.intermediate.util |
org.apache.fop.render.java2d | Java2D Renderer which paints rendered pages on Graphics2D instances.
org.apache.fop.render.pcl | PCL Renderer (Supports PCL5 and HP GL/2)
org.apache.fop.render.pcl.extensions |
org.apache.fop.render.pcl.fonts |
org.apache.fop.render.pcl.fonts.truetype |
org.apache.fop.render.pdf | PDF Renderer
org.apache.fop.render.pdf.extensions |
org.apache.fop.render.print | Renderer which prints rendered pages directly to a printer.
org.apache.fop.render.ps | PostScript Renderer
org.apache.fop.render.ps.extensions | Extensions specific to the PostScript Renderer.
org.apache.fop.render.ps.fonts |
org.apache.fop.render.ps.svg |
org.apache.fop.render.txt | Plain Text Renderer
org.apache.fop.render.txt.border | Border handling classes for the Plain Text Renderer
org.apache.fop.render.xml | Area Tree XML Renderer.

Structural Rendering
Package | Description
--- | ---
org.apache.fop.render.rtf | RTF (Rich Text Format) Output Support

Fonts
Package | Description
--- | ---
org.apache.fop.fonts | Classes for font handling.
org.apache.fop.fonts.apps | Command-line tools for generating XML font metric files from Type 1 and TrueType fonts.
org.apache.fop.fonts.autodetect | A collection of classes that aid in the autodetection of installed system fonts.
org.apache.fop.fonts.base14 | Base 14 fonts used for PDF and PostScript.
org.apache.fop.fonts.cff |
org.apache.fop.fonts.substitute | Font substitution facilities.
org.apache.fop.fonts.truetype | Classes for TrueType fonts.
org.apache.fop.fonts.type1 | Classes for Adobe Type 1 fonts.

Events
Package | Description
--- | ---
org.apache.fop.events | Subsystem for reporting events inside FOP to client applications.

Utility
Package | Description
--- | ---
org.apache.fop.hyphenation | Hyphenation support.
org.apache.fop.image.loader.batik | Contains implementations of image loaders and converters which are dependent on Apache Batik (SVG and WMF).
org.apache.fop.text.linebreak | Unicode linebreaking algorithm.
org.apache.fop.tools | Various tools for FOP.
org.apache.fop.tools.anttasks | FOP-related tasks for Apache Ant.
org.apache.fop.tools.fontlist |
org.apache.fop.util | Various utility classes (I/O, codecs, color support, service discovers etc.).
org.apache.fop.util.bitmap |
org.apache.fop.util.text | Message formatting classes.

AFP library
Package | Description
--- | ---
org.apache.fop.afp | Contains an AFP library.
org.apache.fop.afp.apps |
org.apache.fop.afp.fonts | Contains a collection of AFP Graphics Object Content Architecture (GOCA) structured objects.
org.apache.fop.afp.goca | Contains a collection of AFP font related classes.
org.apache.fop.afp.ioca | Contains a collection of AFP Image Object Content Architecture (IOCA) structured objects.
org.apache.fop.afp.modca | Contains a collection of AFP Mixed Object Document Content Architecture (MO:DCA) structured objects.
org.apache.fop.afp.modca.triplets | Contains a collection of AFP Mixed Object Document Content Architecture (MO:DCA) triplet classes.
org.apache.fop.afp.parser |
org.apache.fop.afp.ptoca | Contains a collection of classes for working with Presentation Text Objects (PTOCA).
org.apache.fop.afp.svg | Contains a collection of AFP specific Batik bridges.
org.apache.fop.afp.util | Contains a collection of useful AFP utility classes.

PDF library
Package | Description
--- | ---
org.apache.fop.pdf | Classes for handling the low-level creation of PDF documents.
org.apache.fop.svg | Classes that add SVG support to FOP and SVG->PDF conversion for Batik.

RTFLib (formerly JFor) Subpackage Candidate
Package | Description
--- | ---
org.apache.fop.render.rtf.rtflib.exceptions | Classes handling specialized exceptions that arise during RTF creation.
org.apache.fop.render.rtf.rtflib.rtfdoc | Independent subsystem (not specific to FOP) classes that are used to build RTF documents.
org.apache.fop.render.rtf.rtflib.tools | Utility classes used in RTF file generation.

Other Packages
Package | Description
--- | ---
org.apache.fop.accessibility |
org.apache.fop.accessibility.fo |
org.apache.fop.activity |
org.apache.fop.apps.io | Classes that control all IO in FOP.
org.apache.fop.complexscripts.bidi |
org.apache.fop.complexscripts.fonts |
org.apache.fop.complexscripts.scripts |
org.apache.fop.complexscripts.util |
org.apache.fop.pdf.xref |
org.apache.fop.svg.font |
org.apache.fop.svg.text |

Apache FOP formats and renders XSL-FO input into a variety of output formats, including PDF and PostScript.

To more information, including general documentation, go to the Apache FOP Home Page.

Copyright 1999-2022 The Apache Software Foundation. All Rights Reserved.