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

Java 从PDF中提取TIFF图像而无需解码,java,image,pdf,itext,tiff,Java,Image,Pdf,Itext,Tiff,在iText 5的帮助下,我想从给定的PDF文件中提取所有TIFF图像,并将它们保存为TIFF文件。 示例和其他帖子(,)使用以下方法: 从PDF流创建PdfImageObject,PDF流解码图像流(如果存在相应的过滤器实现) 调用返回JPEG(原始)、PNG(重新编码)或TIFF(每像素8位) 因此,具有1位颜色深度的TIFF图像被转换为PNG,这不是我所需要的 另一种方法是调用PdfImageObject#getBufferedImage(),将步骤(2)中的图像解码为光栅,然后使用Ima

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

  • 从PDF流创建
    PdfImageObject
    ,PDF流解码图像流(如果存在相应的过滤器实现)
  • 调用返回JPEG(原始)、PNG(重新编码)或TIFF(每像素8位)
  • 因此,具有1位颜色深度的TIFF图像被转换为PNG,这不是我所需要的

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

    正如人们所看到的,这是没有效率的。中所示的另一个解决方案演示了如何通过在编码的TIFF图像流前面添加TIFF头将其保存到文件中,这就是我正在寻找的解决方案


    iText可以在这里提供帮助吗?

    PDF图像是而不是TIFF图像


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

    谢谢您提供的信息,但是您的帖子没有提供答案。您可以将其添加为问题的注释。事实上,TIFF可能支持部分压缩方法,但它支持Deflate、LZW、CCITT和JPEG,请参阅。