使用Aspose.Word Java 22.11版本
带有tiff格式的word文档,在导出为pdf格式,或图片格式时,tiff图像显示不正确,全黑色。
示例文档:
tiff.docx (27.8 KB)
错误效果:
@xinyu391 我无法使用最新的 23.10 版本的 Aspose.Words for Java 重现该问题。
另请注意,Java 高级成像 (JAI) 用于支持 TIFF 图像。 Java 8 及更早版本不支持 TIFF 图像。 为了在较旧的 Java 环境中支持 TIFF,Aspose.Words for Java 依赖于 Oracle 的 Java Advanced Imaging (JAI) 包。
您可以在文档页面上获取有关依赖项的更多详细信息:
https://docs.aspose.com/words/java/system-requirements/#optional-dependencies
我使用23.10版本 jdk17 同样 有问题,导出的pdf是黑色的。
out.pdf (39.5 KB)
我使用Imagio,直接读取 tiff文件(从docx里面提取的)是可以正确的读取图像的。
InputStream inputStream = null;
try {
inputStream = new FileInputStream(new File("image1.tiff"));
BufferedImage bufferedImage = ImageIO.read(inputStream);
System.out.println("tif image size "+bufferedImage.getWidth()+","+bufferedImage.getHeight());
DocUtil.WriteImage(bufferedImage,new File("out.jpg"));
} catch (Exception e) {
throw new RuntimeException(e);
}
所以我怀疑这 不是 java的问题,而是 aspose库的问题。
@xinyu391 我使用以下简单代码再次测试了转换:
Document doc = new Document("C:\\Temp\\in.docx");
doc.save("C:\\Temp\\out.pdf");
结果看起来是正确的: out.pdf (38.5 KB)
您能描述一下您出现问题的环境吗? 我们将尝试在我们这边重新创建相同的环境,并为您提供更多信息。
demo 已经改成23.10 问题 仍然存在
系统ubuntu22.04
java: openjdk 17
Aspose-words-demo.zip (65.9 KB)
ps:给你们反馈问题真是麻烦,各种不相信,推诿; 要有其他选择,早就扔掉Aspose了
@xinyu391 所附的 PDF 仍然是使用旧的 22.11 版本的 Aspose.Words 生成的:
我在 Linux 上进行了 teste 转换,输出看起来仍然正确。
另请尝试向您的 pom 添加依赖项:
<dependency>
<groupId>javax.media.jai</groupId>
<artifactId>com.springsource.javax.media.jai.core</artifactId>
<version>1.1.3</version>
</dependency>
Finally, javax.media.jai
这个依赖解决了问题
如果不加这个依赖 输出pdf
out-wrong.pdf (39.5 KB) 是错误的。
加了后,就正确了
out-ok.pdf (38.5 KB)
And … Thanks.