gpt4 book ai didi

java - 从 PDF 中提取 TIFF 图像而不解码

转载 作者:行者123 更新时间:2023-12-01 06:02:56 25 4
gpt4 key购买 nike

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

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

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

另一种方法是调用 PdfImageObject#getBufferedImage() ,它将步骤 (2) 中的图像解码为光栅,然后使用 ImageIO.write(bufferedImage, “tiff”,文件)

正如人们所见,这效率不高。 this post中显示的另一个解决方案演示如何通过在前面添加 TIFF header 来将编码的 TIFF 图像流保存到文件 - 这就是我正在寻找的解决方案。

iText 可以提供帮助吗?

最佳答案

到目前为止,最简单的方法是进入操作系统并使用(Debian 手册)pdfimages来自任何最近的 poppler utils 包

对于 Windows,它们位于 https://github.com/oschwartz10612/poppler-windows
其他版本可能有不同的输出能力。

poppler/bin> pdfimages -tiff in.pdf out

这将(/应该)使用out-000.tif等名称将所有图像提取为colour.tif或mono.tif,但请注意,单色蒙版看起来相反是正常的这通常是它们在 PDF 中的存储方式

enter image description here enter image description here

此外,Mono tiff 将按照相对密度的要求,因此纸上标称 300 dpi 分辨率的源将导出为无损单声道未压缩 tiff,PDF 标称密度为 72dpi。像素数完全正确,但尺寸似乎更大,并且颜色似乎不同。

enter image description here

关于java - 从 PDF 中提取 TIFF 图像而不解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53174654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com