【问题标题】:Image won't display in PDF using FOP 1.1 and Java使用 FOP 1.1 和 Java 时,图像不会显示在 PDF 中
【发布时间】:2013-01-04 20:10:16
【问题描述】:

我已经通过谷歌搜索了一遍又一遍,但似乎无法找到解决我的问题的方法......

我正在使用 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 文件运行时,我无法弄清楚是什么导致图像无法显示...

提前致谢! (希望)

德文

【问题讨论】:

    标签: java apache-fop


    【解决方案1】:

    语法

    <fo:external-graphic src="url('C:/images/image.jpg')" content-height="100%" content-width="100%"/>
    

    无论是从 Eclipse 还是从 JAR 中,对我来说都非常好用。找出问题所在了吗?

    【讨论】:

      【解决方案2】:

      我知道这是一个旧线程,但我遇到了类似的问题,最终找到了部分修复方法。这是两件事的组合:

      1. 开发环境和已部署环境中的 JVM 之间的差异(对我来说,原始 sun ... err oracle vs. ibm websphere bundled java)
      2. IBM JVM 不喜欢索引的 PNG 文件。一旦我将它转换为 RGB,它就可以工作了。

      这是我使用 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)

      希望这对其他人有帮助!

      【讨论】:

        猜你喜欢
        • 2018-07-01
        • 2023-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-20
        • 2010-12-08
        • 2017-06-03
        相关资源
        最近更新 更多