Aspose.PDF压缩图片

Aspose.PDF.JAVA: 22.9

部分PDF图片由于单个图片像素太高,在firefox浏览器里无法展示,我通过以下代码导出图片
for(XImage xImage: page.getResources().getImages()) {
java.io.OutputStream output = new java.io.FileOutputStream("…");
xImage.save(output);
}
图片的分辨率为4961*7016,后续通过PDF压缩功能

com.aspose.pdf.optimization.OptimizationOptions opt = new com.aspose.pdf.optimization.OptimizationOptions();
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setResizeImages(true);
opt.getImageCompressionOptions().setMaxResolution(1024);
pdfDocument.optimizeResources(opt);

虽然PDF整体大小变小了,但是图片分辨率仍然为4961*7016,请问有什么方法,可以让图片分辨率也进行调整。

@liuyi520123

您是否尝试过使用 Aspose.PDF for Java 23.4?如果问题仍然存在,请与我们分享您的示例 PDF 文档,以便我们可以在我们的环境中测试该场景并相应地解决它。

我已经升级成23.4了,但是分辨率仍然没有变化test.pdf (4.8 MB)

@liuyi520123

我们已在我们的内部问题跟踪系统中打开了以下新工单,并将根据 Free Support Policies 中提到的条款提供它们的修复。

问题 ID:PDFJAVA-42827

如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 Paid Support Services

我们采购过一个licence,一年的服务期应该还没过期。但是否可以告诉我,哪个版本是可以正常压缩图片的,我们先让功能正常运行起来

@liuyi520123

我们需要调查票证,以便进一步确定 API 行为背后的实际原因。恐怕我们目前无法就此案的初步调查分享任何反馈。尽管如此,一旦我们有一些更新要与您分享,我们一定会尽快通知您。请给我们一些时间。

对此造成的不便,我们表示歉意。

@liuyi520123

我们调查了之前记录的票证:

请注意,PDF 文档中的分辨率是指显示或打印图像时的细节程度或清晰度。它通常以每英寸像素 (PPI) 或每英寸点数 (DPI) 为单位进行测量。更高的分辨率意味着更多的细节和清晰度,但它也会导致更大的文件大小。
这不是图像的最大宽度或长度。
以下值通常用于低分辨率 72-150、平均质量 150-300、高质量 400-600。并且根据 setMaxResolution(…) 中指定的值,内部图​​像的大小根据所选的最大分辨率减小。
附上更改这些值的文档的结果:

分辨率为 72 - 69 kb 的结果
结果分辨率为 150 - 235 kb
分辨率为 300 - 731 kb 的结果
分辨率为 500 - 1709 kb 的结果
分辨率为 600 及更高的结果 - 2340 kb

output_maxResolution72_version__23_7_.pdf (16.6 KB)
output_maxResolution150_version__23_7_.pdf (16.6 KB)
output_maxResolution300_version__23_7_.pdf (16.6 KB)
output_maxResolution500_version__23_7_.pdf (16.6 KB)
output_maxResolution600_version__23_7_.pdf (16.6 KB)