我正在使用 itext PDF 库在 Java 中构建图像密集型 PDF 文档。每页都有十几张图片。原始源图像的分辨率非常高,我正在使用 scaleToFit
将图像渲染到我需要的大小。
我遇到的问题是 PDF 文档仍然很大。我的理解是整个原始高分辨率图像都包含在内,我使用的缩放比例只影响实际渲染,而不影响文件中包含的图像的大小。
我已经通过移除缩放来验证这一点——页面呈现时高分辨率图像相互重叠并且页面边缘重叠,并且 PDF 的大小与缩放到位时的大小相同。
那么,问题来了 — 如何通过缩小每个图像来减小 PDF 文件的大小?如果我失去一点图像质量也没关系。手动重新缩放源图像将很困难。
最佳答案
所以我找到了一种方法来做到这一点。我现在将图像加载到 BufferedImage
中,然后使用此处找到的提示对其进行缩放:how do I scale a BufferedImage .
这给了我一个 BufferedImage
— 然后我使用
Image returnedImage = Image.getInstance ( pcb, bufferedImage, quality );
quality
当前为 0.6。这对于我正在做的工作来说是可以接受的。
关于java - 减少 ITextPDF 中的图像大小(字节),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15129025/