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);
我可以使用 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);