Adobe LiveCycle将PDF转换为TIFF =非常低分辨率的TIFF

时间:2014-08-26 13:49:53

标签: java pdf adobe tiff livecycle

当使用Adobe LiveCycle的ConvertPdfServiceClient toImage operation(在Java中)将文本密集的PDF转换为TIFF图像时,尽管将分辨率设置为“300”并且ImageSizeHeight& ImageSizeWidth到PageSize.LETTER尺寸。

如何让LiveCycle给我更高分辨率的TIFF?

我的源PDF是8.5“x 11”(字母大小)。它是基于文本的(不仅仅是PDF中的图像)。

这是我的spec对象:

ToImageOptionsSpec spec = new ToImageOptionsSpec(); 
spec.setImageConvertFormat(ImageConvertFormat.TIFF); 
spec.setGrayScaleCompression(GrayScaleCompression.None); 
spec.setMultiPageTiff(true);
spec.setColorSpace(ColorSpace.Monochrome); 
spec.setResolution("300");
spec.setMonochrome(MonochromeCompression.CCITTG4); 
spec.setGrayScalePolicy(GrayScalePolicy.Off); 
spec.setImageSizeHeight(PageSize.Letter.getHeight());
spec.setImageSizeWidth(PageSize.Letter.getWidth());

TIFF输出文件是:

  • 分辨率:612 x 792
  • DPI:300 x 300
  • 打印尺寸:5.2 x 6.7 cm; 2.0 x 2.6英寸
  • 颜色:2(1 BitsPerPixel)

1 个答案:

答案 0 :(得分:0)

删除对setImageSizeHeight和setImageSizeWidth的调用就可以了。保留未分配的那些似乎允许它们继承源PDF的尺寸,然后根据setResolution值设置结果图像的高度/宽度。

ToImageOptionsSpec spec = new ToImageOptionsSpec(); 
spec.setImageConvertFormat(ImageConvertFormat.TIFF); 
spec.setGrayScaleCompression(GrayScaleCompression.None); 
spec.setMultiPageTiff(true);
spec.setColorSpace(ColorSpace.Monochrome); 
spec.setResolution("300");
spec.setMonochrome(MonochromeCompression.CCITTG4); 
spec.setGrayScalePolicy(GrayScalePolicy.Off); 
//spec.setImageSizeHeight(PageSize.Letter.getHeight());
//spec.setImageSizeWidth(PageSize.Letter.getWidth());

TIFF输出文件现在是:

  • 分辨率:2550 x 3300
  • DPI:300 x 300
  • 尺寸:21.6 x 27.9厘米; 8.5 x 11.0英寸
  • 颜色:2(1 BitsPerPixel)