【问题标题】:No imagePreloader found - XML to PDF using FOP未找到 imagePreloader - 使用 FOP 的 XML 到 PDF
【发布时间】:2014-11-13 10:52:35
【问题描述】:

我正在尝试从 xml 数据创建 PDF。我在 Windows 中使用 Apache FOP 1.1 for Java。 该应用程序在 Eclipse 中完美运行,但是当我尝试从导出的​​ .jar 中运行它时,图像并没有放在 PDF 中。我已经尝试在 cdm 上运行它以查看运行时的日志。这是一个例外:

GRAVE: Image not available. URI: out/iberdrola.png. Reason: org.apache.xmlgraphics.
     image.loader.ImageException: The file format is not supported. No ImagePreloader
     found for out/iberdrola.png (No context info available) org.apache.xmlgraphics.
     image.loader.ImageException: The file format is not supported. 
     No ImagePreloader found for out/iberdrola.png
at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:180)

我要解释一下,即使是异常,程序也会运行到最后,并且会渲染 PDF 但没有图像。

我尝试了一些不同的方法来解决这个问题,但没有成功。我用谷歌搜索的大部分信息都与servelts有关,但我不是在编写servlts。顺便说一句,在这里我给你两个不同的解决方案,它们对其他一些人有效。它们是相关的,但我认为程序不同。我不知道如何尝试它们,有人可以更好地解释一下吗?即使解释了它们,我也必须缺少任何步骤。

http://apache-fop.1065347.n5.nabble.com/FOP-1-0-images-fail-to-render-td7348.html

Apache FOP in a Java Applet - No ImagePreloader found for data

我也对这个问题的任何其他解决方案持开放态度。

感谢您的建议! 有一个漂亮的代码!

【问题讨论】:

    标签: java pdf xsl-fo apache-fop image-preloader


    【解决方案1】:

    我终于找到了解决方案。我不知道我所做的两个步骤中的哪一个可以解决所有问题,但就是这样。

    首先,我更改了项目的库。我意识到我使用的 fop_1.1.jar 不是 Apache 提供的官方版本。所以我去了官方网站,下载了二进制版本。我在构建路径中添加了 fop 库和名为“lib”的文件夹的其余依赖库。

    然后,我增加了Java的编译版本。我使用的是 1.4 版本,使用的许多库都需要 1.5 或更高版本。所以当我意识到现在大多数计算机都使用 1.7 或更高版本时,我将其设置为 1.7。

    我无法告诉您这两种解决方案中的哪一种创造了这个奇迹,但对于进一步的项目,我会在使用正确的库之前检查我是否使用了正确的库,并且我必须检查最低编译版本。

    有一个漂亮的代码!

    【讨论】:

    • 我正在使用 fop-1.1.jar 和 java 1.8。我面临同样的问题。你有没有做其他事情来解决这个问题,因为我有同样的问题
    猜你喜欢
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多