PDFBox将PDF转换为TIFF。以字节为单位缩小图像大小

时间:2013-04-17 10:58:26

标签: java image pdf tiff pdfbox

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

1 个答案:

答案 0 :(得分:2)

以下是一些指导原则:

  • 将颜色与输出匹配。如果你用黑色渲染 白色使用双值输出,转换为每像素一位。如果 没有太多阴影或混​​合的颜色很少 突出着色或卡通风格的图形,使用256色。只要 如果您的PDF中有照片,请使用全彩色。如果必须的话 产生全彩色,你对小的追求注定要失败。
  • 将压缩与颜色深度相匹配。用于单色使用 CCITT T.4或CCITT T.6,它们的效率更高 比特序列。 LZW在字节序列(如256色)上效果最佳。 如果你必须生产全彩色,你唯一的希望是体面的 压缩是jpeg,但这会模糊你的文字和线条。