0

我正在尝试将 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);
4

1 回答 1

2

以下是一些指导方针:

  • 将颜色与您的输出相匹配。如果您以黑白方式渲染,请使用双值输出,即每像素一位。如果您的颜色很少而没有太多阴影或混​​合,如高光着色或卡通风格的图形,请使用 256 色。如果您的 PDF 中有照片,请仅使用全彩色。如果您必须制作全彩,那么您对小巧的追求就注定要失败。
  • 将您的压缩与您的颜色深度相匹配。对于单色,使用 CCITT T.4 或 CCITT T.6,它们对位序列更有效。LZW 最适用于 256 色等字节序列。如果你必须制作全彩,你唯一希望得到体面的压缩是 jpeg,但这会使你的文本和线条模糊。
于 2013-05-28T22:48:00.437 回答