我在使用外部图形显示在PDF中时遇到了一些问题。我尝试使用url()
使用各种路径,但似乎没有任何效果。这是我缺少的其他东西吗?
<fo:table-cell>
<fo:block>
<fo:external-graphic src="url(ss/naam.png)"></fo:external-graphic>
</fo:block>
</fo:table-cell>
答案 0 :(得分:6)
我正在使用Apache FOP 1.1 Ver。
首先你应该告诉apache FOP,以下面的方式是基本路径。 你应该按原样复制代码。
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);
在您的XSL模板文件中
<fo:table-cell>
<fo:block>
<fo:external-graphic src="url(resources/naam.png)"></fo:external-graphic>
</fo:block>
</fo:table-cell>
这里naam.png将位于资源/目录
我在项目的资源总监中添加了所有图像和所需的字体字体文件。 它对我来说很好。 谢谢
答案 1 :(得分:0)
示例,它在我的xsl-fo模板中运行,用于Apache FOP。
<fo:external-graphic src='url("src/main/resources/ima/logo.depo.gif")' />
答案 2 :(得分:0)
<fo:external-graphic src="ss/naam.png"/>
这样对我有用。
答案 3 :(得分:0)
要为绝对路径添加<fo:external-graphic>
,它对我有用的唯一方法是将网址写为url(file:/C:/myPath/image.jpg)
。 Source。
<fo:external-graphic src="url(file:/C:/myPath/image.jpg)"/>