我一直在搜索谷歌,似乎无法找到我的问题的解决方案......
我正在使用Apache FOP 1.1和Java从Java类生成PDF文件。此Java项目从JAR文件运行。我正在使用JAR本身外部的图像。用于生成PDF的XSL文件包含:
<fo:external-graphic src="file:///C:/images/image.jpg" width="7.5in" />
基于大量搜索/阅读,我尝试了许多不同的src属性变体:
src="file:///C:/images/image.jpg"
src="C:/images/image.jpg"
src="url('file:///C:/images/image.jpg')"
src="url('C:/images/image.jpg')"
一切都没有成功......
现在,这是令人困惑的部分。我正在使用Eclipse IDE进行开发,并且在使用src属性的变体时:
src="C:/images/image.jpg"
src="url('C:/images/image.jpg')"
使用嵌入的图像正确创建PDF。
我无法弄清楚当从JAR文件运行时是什么阻止显示图像...
提前致谢! (希望)
德文
答案 0 :(得分:0)
语法
<fo:external-graphic src="url('C:/images/image.jpg')" content-height="100%" content-width="100%"/>
对我来说非常好,无论是来自Eclipse还是来自JAR。已经弄明白问题是什么?
答案 1 :(得分:0)
我知道这是一个旧线程,但我遇到了类似的问题,并最终找到了部分修复。这是两件事的组合:
以下是我使用websphere jvm手动运行fop.bat文件时收到的错误消息:
SEVERE: Image not available. URI: /tmp/image.png. Reason: org.apache.xmlgraphics.image.loader.ImageException: I/O error while extracting image metadata: Error reading PNG metadata (See position 30:182)
不过,我使用的是fop 1.0 + java 1.6 + WAS 7.0(java 1.6)
希望这有助于其他人!