【发布时间】:2026-02-02 09:05:01
【问题描述】:
我正在尝试将 pdf 转换为 tiff 图像。我用 pdfbox 搞定了,但是图片太大了。
假设我的 PDF 大小是 224kb => 图像大小=1.4Mb
如何在不损失质量的情况下使 tiff 文件变小?
以下是部分代码:
TIFFImageWriterSpi tiffspi = new TIFFImageWriterSpi();
writer = tiffspi.createWriterInstance();
ImageWriteParam param = writer.getDefaultWriteParam();
TIFFImageWriteParam param2 = (TIFFImageWriteParam) writer.getDefaultWriteParam();
param2.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param2.setCompressionType("LZW");
param2.setCompressionQuality(1.0f);
writer.setOutput(output);
writer.write(null,new IIOImage(image,null,null),param2);
【问题讨论】:
-
“我怎样才能使 tiff 文件变小而不损失质量?” Magic?
-
但是是不是可以通过一些设置使它变小,或者当 pdf 很小时,这个 tiff 文件有那么大是正常的吗?
-
直接图像(99% 的时间)将大于等效的 PDF。问题是,您在 PDF 中看到的大部分内容都是由一些具有相关样式、字体和定位参数(通常也以文本表示)的文本生成的。当涉及到 OTOH 图像时,所有文本都已呈现为字形(可能是抗锯齿的 - 这进一步推高了文件大小)。无论如何,将“文本可搜索”PDF 缩减为普通旧图像的目的是什么? 尽管我很鄙视 PDF 格式,但我看不到将 PDF 转换为静态图像的意义。
-
图片是什么格式,为什么不直接从PDF中提取呢?
-
我尝试转换的 pdf 是一个 pdf 页面,其中包含一个图像,我从扫描合作伙伴处获得。打印合作伙伴要求打印 tiff,所以我需要将 pdf 转换为 tiff。
标签: java image pdf tiff pdfbox