首页 文章

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

提问于
浏览
0

当使用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 回答

  • 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)

相关问题