Graeme Wellington commented on FOP-2523:

My environment is:

Java: jdk1.8.0_111 (64bit)
Tomcat 8.0.15
FOP 1.1
FOP 2.1

I have installed the source for FOP-1.1 and FOP-2.1 and compiled using ANT.

I am testing the XML/XSL PDF generation with a basic XML file and a basic 
Stylesheet with 1 

Command Line


"C:\fop-2.1\fop.bat" -xml "C:\Temp\42236-050-5002-ELITES-ITEM HIRE.xml" -xsl 
"C:\Temp\BT-PO-SA-ALL.xsl" -pdf "C:\Temp\42236-050-5002-ELITES-ITEM HIRE.pdf" 

Successfully generates PDF


"C:\fop-2.1\fop.bat" -xml "C:\Temp\42236-050-5002-ELITES-ITEM HIRE.xml" -xsl 
"C:\Temp\BT-PO-SA-ALL.xsl" -pdf "C:\Temp\42236-050-5002-ELITES-ITEM HIRE.pdf" 

Successfully generates PDF


I loaded the FOP-1.1 fop.war into Tomcat and run the following from IE11:


Successfully rendered PDF to the browser

I then loaded the FOP-2.1 fop.war into Tomcat and run the same command from 


This fails with a HTTP error similar to:

HTTP Status 500 - javax.xml.transform.TransformerException: 
org.xml.sax.SAXException: The resource path [file:C:///Temp/logo.jpg] is not 

Followed by a long Exception audit.

If I remove the 1 line where a graphic is referenced with 'fo:external-graphic' 
then the PDF generates ok obviously without the logo.

I have tried various ways to define the source but no luck including:

<fo:external-graphic src="file:C:///Temp/logo.jpg"/>
<fo:external-graphic src="url(file:///C:/Logos/RH_full_colour_black-X.png)" 
content-height="25mm" vertical-align="middle"/>
<fo:external-graphic src="url(file:/C:/logos/RH_full_colour_black-X.png)" 
content-height="25mm" vertical-align="middle"/>
<fo:external-graphic src="C:/logos/RH_full_colour_black-X.png" 
content-height="25mm" vertical-align="middle"/>

I have also tried relative paths but no luck.

>From what I have researched it looks like the problem relates to changes in 
>the method used to resolve a URI / URL.

Graeme Wellington

> Behavior change in include path handling breaks existing 1.1 docs
> -----------------------------------------------------------------
>                 Key: FOP-2523
>                 URL: https://issues.apache.org/jira/browse/FOP-2523
>             Project: FOP
>          Issue Type: Bug
>          Components: image/jpeg, image/png
>    Affects Versions: 2.0
>         Environment: OS X , Linux
>            Reporter: Johan Persson
>            Priority: Minor
>              Labels: path
> When transforming a document with included files (images) there is a 
> different behavior between 1.1 and 2.x.
> Transformation that works with fop 1.1 no longer works with 2.0
> I suspect that this is not so much a bug as a change that breaks existing 
> build schemas due to fop making different assumption on relative paths in 1.1 
> compared with 2.x. but I have to yet figure out what the assumption is.
> If the generated .fo includes say, 
> {{<fo:external-graphics src="url(myimage.jpg) width="100%" height="auto">}}
> If all files (both images and .fo) are in a flat directory this works well 
> with 1.1. Running the same source through 2.0 will generate an error saying 
> that FOP cannot find the referred file (myimage.jpg)
> I suspect this is a common enough pattern to warrant some notice on how to 
> handle this situation.

This message was sent by Atlassian JIRA

Reply via email to