Previous Topic: PDF ReportsNext Topic: Drilldown Links


Apache FOP Installation

FOP is simple to download (http://xmlgraphics.apache.org/fop/download.html) and install but there is a problem with Java installations prior to version 1.6 (see below). With JRE (Java Runtime Environment) 1.6 or later, FOP should work without any modification to the installation.

FOP is a java application which relies on a recent version of certain libraries (see below). Unfortunately the libraries included with the Sun JRE before version 1.6 are too old and need to be overridden. With JRE 1.4 it's not sufficient to just specify the new libraries in the classpath, they have to be copied into the …/jre/lib/endorsed folder, (the endorsed folder may need to be created). This is an official way to override libraries without overwriting them and is known as the Endorsed Standards Override Mechanism.

According to the FOP 0.94 FAQ concerning this issue, only the Xalan library is affected. Nonetheless, copy all of the following libraries into the endorsed folder from the FOP installation:

Note: If there are multiple Java installations then it is the jre that will be referenced by the JAVA_HOME environment variable that needs to be modified in this way, as this is the one that will be used (by default) to run FOP.

Note: If it is necessary to have multiple Java installations and it is not possible to set JAVA_HOME to reference the version to be used by FOP, it may be necessary to modify the fop.bat file to set the path to the correct java installation.

Note: Care should be taken when installing FOP from a remote source onto a Virtual PC installation running Windows XP SP2 or later. The installed files may be marked as 'Blocked' by the operating system as a security measure and will cause the PDF generation to fail. If FOP is run from the command line this error is displayed: "This file came from another computer and might be blocked to help protect this computer.". To avoid this problem copy the FOP zip file to the Virtual PC, show the file properties and click 'Unblock' before unzipping.