I'm having some issues getting the external-graphic to show in my PDF. I've tried using all sorts of paths using the url()
but nothing seems to work. Is it something else I'm missing?
<fo:table-cell>
<fo:block>
<fo:external-graphic src="url(ss/naam.png)"></fo:external-graphic>
</fo:block>
</fo:table-cell>
I am using Apache FOP 1.1 Ver.
first you should tell apache FOP that where is base path in follwing way.
You should copy code as it is.
fopFactory = FopFactory.newInstance();
// for image base URL : images from Resource path of project
String serverPath = request.getSession().getServletContext().getRealPath("/");
fopFactory.setBaseURL(serverPath);
// for fonts base URL : .ttf from Resource path of project
fopFactory.getFontManager().setFontBaseURL(serverPath);
In your XSL template file
<fo:table-cell>
<fo:block>
<fo:external-graphic src="url(resources/naam.png)"></fo:external-graphic>
</fo:block>
</fo:table-cell>
Here naam.png will be in resources/ directory
I added all images and required font font files in resource director of my project.
It is working fine for me.
Thank you
To add a <fo:external-graphic>
for an absolute path the only way it worked for me is to write the url as url(file:/C:/myPath/image.jpg)
. Source.
<fo:external-graphic src="url(file:/C:/myPath/image.jpg)"/>
Example, it runs in my xls-fo template for Apache FOP.
<fo:external-graphic src='url("src/main/resources/ima/logo.depo.gif")' />
<fo:external-graphic src="ss/naam.png"/>
Works for me this way.