当前位置: 首页 > 知识库问答 >
问题:

Apache FOP/自定义图像未显示在PDF中

杭英杰
2023-03-14

在FOP 2.6中,我尝试将FO文件转换成PDF。我在Windows上使用标准配置文件。

由于不支持一种图像格式,我创建了一个自定义的PreLoader、ImageLoaderFactory和ImageConverter。它们是通过服务条目注册的,从日志中我可以看到它们正在被使用:

DEBUG: Chosen pipeline: Loader: org.apache.xmlgraphics.image.loader.impl.ImageLoaderRaw@2dad1d4c Converters: [image.loader.custom.ImageConverterCustom2PNG@26080b64]
DEBUG: Creating new Source for figure\sb.custom
DEBUG: convert custom image: org.apache.xmlgraphics.image.loader.impl.ImageRawStream: figure\sb.custom (image/custom)
DEBUG: custom image converted to png
DEBUG: Image is made cacheable: figure\sb.custom (image/custom)
DEBUG: New ImageAdapter created for key: figure\sb.custom
INFO: Rendered page #86.

但图像不会显示在生成的PDF文件中。。。

转换器将自定义格式转换为PNG并返回RAW_PNG:

ByteArrayInputStream convertedStream = new ByteArrayInputStream(outBuffer.toByteArray());
PNGFile pngFile = new PNGFile(convertedStream, originalInfo.getOriginalURI());
ImageRawPNG image = pngFile.getImageRawPNG(originalInfo);

我也曾试图皈依JPG教,但也没有成功。

直接使用转换后的文件确实有效:而不是:

<fo:external-graphic src="url(figure\sb.custom)" width="auto" height="auto" content-width="160mm" content-height="auto"/>

这个:

<fo:external-graphic src="url(custom.png)" width="auto" height="auto" content-width="160mm" content-height="auto"/>

显示图像。

转换器没有用链条连接吗?还是我错过了什么关键的东西?

共有1个答案

沙海
2023-03-14

我终于找到了根本原因。我的图像预加载器在创建图像大小时缺少以下行:

size.setResolution(context.getSourceResolution());
size.calcSizeFromPixels();
 类似资料:
  • 您好,我正在使用。 }下面是各自的xml: 在适配器获取视图:公共视图getView(int位置,视图转换视图,ViewGroup父){ ImageLoader。从这里开始的Java 在从服务器加载映像之前,如何在中显示临时映像。

  • 我已将图像保存在oracle数据库中为BLOB。我的模型类包含Byte[]图像;对应于数据库中的BLOB feild。我必须将数据库中的所有图像导出为PDF格式。在java中,我使用了以下代码: 我需要PDF格式的图像。

  • 奇怪的是,自定义图标在三星Mini(jelly bean)和Nexus 4(API 27)模拟器上显示正确,但在三星A6(Oreo)和华为Honory Lite 9(Oreo)设备上却显示不正确,在这些设备上,我看到了默认的绿色背景白色droid图标。 通知始终显示,但在某些设备上不使用自定义图标。 我尝试在AssetStudio中实现它,并且使用和不使用Notification Builder实

  • 我试图添加自定义帖子类型的特色图像 我已经在我的主题的functions.php文件中添加了主题支持。以下是代码: 我还尝试将support子句添加到register post type部分,但仍然没有结果。 这里是注册自定义帖子类型代码: 我找遍了所有地方,但是找不到解决这个问题的办法。 注意:我可以为我的普通帖子设置特色图像,问题是自定义帖子类型。此外,我有注册自定义后类型通过一个插件,我自己

  • 它将我带到图库以选择图像,但未显示在应用程序中,当单击上传按钮时,它只是一个空白图像视图 < li >我的Java代码 < li>XML代码 运行时显示此错误 java.lang.IllegalArgumentException:uri不能为空 以下两处给出错误的行显示了uri错误

  • 提前致谢 下面是我的plugin.xml