图像不显示在 apache fop 生成的 PDF 中

Images are not displayed in PDF generated by apache fop

我正在使用 apache fop 库 (v2.2) 生成 PDF 文件。如果我从 Eclipse 运行 应用程序 IDE 所有 运行 都没有问题但是如果我从 Eclipse IDE 生成 JAR 和库处理设置为 将所需的库提取到生成的 JAR 中,然后我将 运行 JAR 它将生成没有图像的 PDF 文件(文本按预期可见)。一开始我以为是文件路径不对造成的,但是如果我直接在XSL中对图片使用base64编码还是看不到图片。如果我生成 JAR 并将库处理设置为 将所需的库打包到生成的 JAR 一切 运行 OK 但太慢了。您知道这可能是什么原因吗?

我发现了以下问题:

  1. 我正在使用我的 java.util.logging.Logger 并且没有看到 apache fop 中使用的记录器的结果。我在没有此记录器的情况下构建了简单的测试应用程序并收到以下错误:

'SEVERE: Image not available. URI: image_name.jpg. Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for image_name.jpg(No context info available)'

  1. 关于如何使用 maven 构建应用程序解决此问题的描述是 here。我使用的是外部 JAR,所以我只更改了在 Eclipse 中的 Java 构建路径 菜单中添加 JAR 的顺序,一切正常。