What Is Apache™ FOP?

This section describes Apache™ FOP, which is an XSL-FO (eXtensible Stylesheet Language - Formatting Objects) processor developed by Apache™ Software Foundation.

What Is Apache™ FOP (Formatting Objects Processor)? Apache™ FOP is an XSL-FO (eXtensible Stylesheet Language - Formatting Objects) processor developed by Apache™ Software Foundation.

Apache™ FOP is a print formatter driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PS, PCL, AFP, XML (area tree representation), Print, AWT and PNG, and to a lesser extent, RTF and TXT. The primary output target is PDF.

The latest version of Apache™ FOP is 2.7, released in 20 Jan, 2022.

Apache™ FOP supports W3C XSL-FO 1.1 standard with some exceptions.

Apache™ FOP can also be used as an XSLT (eXtensible Stylesheet Language Transformations) processor.

Apache™ FOP is a Java application and requires JVM (Java Virtual Machine) to run.

All PDF versions of my tutorial books are generated by Apache™ FOP.

History of Apache™ FOP versions and release dates:

Version   Date 
-------   ------------
FOP 2.7   20 Jan, 2022
FOP 2.6   20 Jan, 2021
FOP 2.5   13 May, 2020
FOP 2.4    9 Nov, 2019
FOP 2.3   24 May, 2018
FOP 2.2   10 Apr, 2017
FOP 2.1   14 Jan, 2016
FOP 2.0    3 Jun, 2015
FOP 1.1   20 Oct, 2011
FOP 1.0   21 Jul, 2010

For more information, see Apache™ FOP home page at https://xmlgraphics.apache.org/fop/.

Table of Contents

 About This Book

 Introduction of XSL-FO

Apache™ FOP (Formatting Objects Processor)

What Is Apache™ FOP?

 FOP Download and Installation on Windows

 FOP Installation Verification on Windows

 FOP Download and Installation on macOS

 FOP Installation Verification on macOS

 "fop" Command and Options

 "fop -fo" - Formatting XSL-FO Files

 "fop -xml -xsl" - Transformation and Formatting

 "fop -xml -xsl -foout" - XSLT Transformations

 RenderX XEP as an XSL-FO Tool

 Introduction of Area Model

 XSL-FO Document Basics and Examples

 Page Layout Masters

 Block-Level Formatting Objects

 Inline-Level Formatting Objects

 Including Graphics in XSL-FO document

 Table of Rows and Columns

 List, Item, Label, and Body

 Floating Blocks - "float" and "footnote"

 Hyperlinks, Table of Contents and Indexes

 Headers and Footers using "static-content"

 Font Attributes and Font Families

 Apache FOP Font Configurations

 RenderX XEP Font Configurations

 Converting HTML to PDF

 References

 Full Version in PDF/ePUB