XSLT:在eclipse项目资源上显示输出PDF上的图像,而不是外部资源

时间:2016-07-19 09:03:47

标签: java xml pdf xslt

我现在越来越接近Apache FOP和XSLT。

我想做一件简单的事情:在eclipse中从我的java项目生成的输出pdf中,在第一页上放置一个图像和标题。

目前,我只能放置标题,但输出pdf上的图像不存在。

在我的XSL文件中,我已经把这个"代码"获取图像,仅在第一页

  <fo:block text-align="center" space-after="4cm">
                          <fo:external-graphic content-height="50%" scaling="uniform" width="50%" content-width="scale-down-to-fit" src="url('file:c:///UPLOAD/logo.png')"/>
                        </fo:block> 

并且有效。这是我在网上发现的关于外部资源直接路径的方式。但是这种方式与机器有关。

那么,我怎样才能从路径&#34;亲戚&#34;对于项目,我需要将pdf输出与项目相关而不是文件系统(因此在部署应用程序时在JAR文件中)

在网上搜索,我发现了很多关于配置FOP的问题等等。

有一种简单的方法如果我想在我的eclipse项目目录中使用一个图像(那么,当部署应用程序时,使用内部资源)在XSLT文档中(比如使用外部文件)?

我试试这种方式

<fo:external-graphic content-height="50%" scaling="uniform" width="50%" content-width="scale-down-to-fit" src='url("///mtproject/WebContent/resources/default/img/logo.jpg")'/>

但在日志中存在此错误:

  

FOUserAgent - 找不到图片。 URI:   ///mtproject/WebContent/resources/default/img/logo.jpg。 (没有背景   信息可用)

如何使用对项目资源的引用?

提前感谢所有人。

1 个答案:

答案 0 :(得分:1)

您必须通过the FOP's configuration定义工作目录。

请查看base元素。