java - iText7 将 PDF 转换为 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);
推荐阅读
- angular-cli - 为什么'ng'在GitBash中一直显示'command not found'?
- python - .replace 代码不会用 python 中的新列替换列
- go - 用 ginkgo 和 gomega 测试一个 map[string]interface{}
- r - 如何使用 R 有选择地合并两个文本文件?
- compiler-construction - 识别常量表达式的属性文法
- php - 如果特定记录不存在,如何仅选择数据
- python - 当一个参数是`find "path/" -type f -name "*.xml"`时如何传递两个参数?
- python - 如何根据 Python 中的特定条件在更大的列表中分解列表?
- spring - StreamBridge Final 无法模拟
- python - Spotify API OAuth:如何退出用户登录的命令提示符