iText7 将 PDF 转换为 Tiff

iText7 to convert PDF to Tiff

我可以使用 iText 将 PDF 转换为 TIFF,但它每页生成一个 TIFF 文件。我想生成一个包含所有页面的 TIFF 文件。

这是我的代码:

final RenderingProperties properties = new RenderingProperties();
properties.setImageType(PdfRenderImageType.TIFF);
PdfToImageRenderer.renderPdf(new File(flatFileName), new File(destFileName)
    +"/my-custom-filename-%d", properties);

通过 属性 设置,(目前)不支持开箱即用的多页 TIFF 输出。但它可以很容易地解决,就像这样:

BufferedImageReadyListener listener = new BufferedImageReadyListener() {
    TiffEncoder encoder = new TiffEncoder();
    @Override
    public void bufferedImageReady(BufferedImage bufferedImage, int pageNumber) {
        try {
            encoder.append(bufferedImage, destFileName);
        } catch (IOException e) {
            // handle exception
        }
    }
};

final RenderingProperties properties = new RenderingProperties();
properties.setImageType(PdfRenderImageType.TIFF);
PdfToImageRenderer.renderPdf(new File(flatFileName), properties, listener);