gpt4 book ai didi

java - 未找到 imagePreloader - 使用 FOP 将 XML 转为 PDF

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:34 25 4
gpt4 key购买 nike

我正在尝试从 xml 数据创建 PDF。我在 Windows 中使用 Apache FOP 1.1 for Java。该应用程序在 Eclipse 中完美运行,但是当我尝试从导出的​​ .jar 运行它时,图像未放置在 PDF 中。我尝试在 cdm 上运行它以查看运行时的日志。这是异常(exception)情况:

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)

我必须解释一下,即使这是一个异常(exception),程序也会运行到最后并且渲染 PDF,但没有图像。

我尝试了一些不同的方法来解决这个问题,但没有成功。我在谷歌上搜索到的大部分信息都与servlt有关,但我并不是在编写servlt程序。顺便说一下,我在这里为您提供了两种对其他人有效的不同解决方案。它们是相关的,但我认为程序是不同的。我不知道如何尝试,有人可以更好地向我解释吗?即使他们得到了解释,我也一定遗漏了任何步骤。

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

我也愿意接受解决此问题的任何其他解决方案。

谢谢指教!有一个好的代码!

最佳答案

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

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

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

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

有一个好的代码!

关于java - 未找到 imagePreloader - 使用 FOP 将 XML 转为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26907165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com