[ 
https://issues.apache.org/jira/browse/FOP-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15762797#comment-15762797
 ] 

Graeme Wellington edited comment on FOP-2523 at 12/20/16 12:56 AM:
-------------------------------------------------------------------

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 graphic logo.

Command Line
============

FOP-1.1: 

"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

FOP-2.1: 

"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

Servlet
=======

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

http://localhost:8500/fop/fop?xml=C:/temp/PO-ELITES-22240-050-5002.xml&xslt=C:/temp/BT-PO-SA-ALL.xsl

Successfully rendered PDF to the browser

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

http://localhost:8500/fop/fop?xml=C:/temp/PO-ELITES-22240-050-5002.xml&xslt=C:/temp/BT-PO-SA-ALL.xsl

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 
valid

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
graeme.welling...@ptbuildingsolutions.com.au


was (Author: graeme.wellington):
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
============

FOP-1.1: 

"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

FOP-2.1: 

"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

Servlet
=======

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

http://localhost:8500/fop/fop?xml=C:/temp/PO-ELITES-22240-050-5002.xml&xslt=C:/temp/BT-PO-SA-ALL.xsl

Successfully rendered PDF to the browser

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

http://localhost:8500/fop/fop?xml=C:/temp/PO-ELITES-22240-050-5002.xml&xslt=C:/temp/BT-PO-SA-ALL.xsl

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 
valid

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
graeme.welling...@ptbuildingsolutions.com.au

> 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
(v6.3.4#6332)

Reply via email to