【发布时间】:2016-07-19 09:03:46
【问题描述】:
我现在离 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>
并且有效。这是我在网上找到的关于外部资源直接路径的方式。但是以这种方式它与机器有关。
那么,我怎样才能从项目的“相对”路径中获得图像,我需要 pdf 输出与项目相关而不是文件系统(所以在我部署应用程序时的 JAR 文件中)
在网上搜索,发现很多关于配置FOP之类的问题..
有一个简单的方法如果我想在 XSLT 文档中使用我的 eclipse 项目目录中的图像(因此,当应用程序部署时,使用内部资源)(就像使用外部文件一样)?
我试试这个方法
<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 - 找不到图像。网址: ///mtproject/WebContent/resources/default/img/logo.jpg。 (没有上下文 可用信息)
如何使用对项目资源的引用?
在此先感谢大家。
【问题讨论】:
-
一方面,url()函数的参数是字符串,应该加引号。您在 FOP 日志中收到了哪些消息?
-
我已经更新了我的帖子以获得更明确的问题。我的文件系统上的外部资源可以工作..但是我如何使用 eclipse 项目的资源?