当使用Adobe LiveCycle的ConvertPdfServiceClient toImage operation(在Java中)将文本密集的PDF转换为TIFF图像时,输出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 回答
删除对setImageSizeHeight和setImageSizeWidth的调用就可以了 . 保留未分配的那些似乎允许它们继承源PDF的尺寸,然后根据setResolution值设置结果图像的高度/宽度 .
TIFF输出文件现在是:
分辨率:2550 x 3300
DPI:300 x 300
尺寸:21.6 x 27.9厘米; 8.5 x 11.0英寸
颜色:2(1 BitsPerPixel)