从PDF提取TIFF图像而无需解码

时间:2018-11-06 15:10:23

标签: java image pdf itext tiff

借助iText 5,我想从给定的PDF文件中提取所有TIFF图像,并将它们另存为TIFF文件。 示例和其他帖子(12)使用以下方法:

  1. 从PDF流中创建PdfImageObject,然后在line 189中对图像流进行解码(如果存在相应的过滤器实现)。
  2. 调用PdfImageObject#getImageAsBytes(),返回JPEG(原始),PNG(重新编码)或TIFF(每像素8位)。

结果,具有1位色深的TIFF图像被转换为​​PNG,这不是我所需要的。

另一种方法是调用PdfImageObject#getBufferedImage(),它将在步骤(2)中将图像解码为光栅,然后再使用ImageIO.write(bufferedImage, "tiff", file)将其编码为TIFF。

正如人们所看到的那样,这并不有效。 this post中显示的另一种解决方案演示了如何通过在TIFF头之前添加TIFF头来将编码的TIFF图像流保存到文件,这是我正在寻找的解决方案。

iText在这里可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

PDF图片不是不是 TIFF图片。

但是

PDF可以包含使用TIFF中使用的压缩技术的图像,例如Flate,CCITT,LZW,JPEG。