java - 减少 ITextPDF 中的图像大小(字节)

标签 java itext

我正在使用 itext PDF 库在 Java 中构建图像密集型 PDF 文档。每页都有十几张图片。原始源图像的分辨率非常高,我正在使用 scaleToFit 将图像渲染到我需要的大小。

我遇到的问题是 PDF 文档仍然很大。我的理解是整个原始高分辨率图像都包含在内,我使用的缩放比例只影响实际渲染,而不影响文件中包含的图像的大小。

我已经通过移除缩放来验证这一点——页面呈现时高分辨率图像相互重叠并且页面边缘重叠,并且 PDF 的大小与缩放到位时的大小相同。

那么,问题来了 — 如何通过缩小每个图像来减小 PDF 文件的大小?如果我失去一点图像质量也没关系。手动重新缩放源图像将很困难。

最佳答案

所以我找到了一种方法来做到这一点。我现在将图像加载到 BufferedImage 中,然后使用此处找到的提示对其进行缩放:how do I scale a BufferedImage .

这给了我一个 BufferedImage — 然后我使用

将它转换成一个 iText 图像
        Image returnedImage = Image.getInstance ( pcb, bufferedImage, quality );

quality 当前为 0.6。这对于我正在做的工作来说是可以接受的。

关于java - 减少 ITextPDF 中的图像大小(字节),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15129025/

相关文章:

java - 在java中使用iText库时如何编写页眉

java - iText - PdfPTable 不显示西里尔文(俄语)符号

java - 启用/禁用与某些方法关联的 JButton

java - 如何同时发送捆绑的卡片?

Java:快速获取数据:存储在内存中与从文件中读取

java - 使用 RtfWriter2 时将页脚打印为第 X 页,共 Y 页

java - ForkJoinPool 并行度=1 死锁

java - JTable 不呈现

java - iText : How does add image to top of PDF page

java - 使用 itext 2.1.7 将 HTML(带内联 css)转换为 PDF