为了账号安全,请及时绑定邮箱和手机立即绑定

从PDF中提取图像,如何处理JBIG2编码

从PDF中提取图像,如何处理JBIG2编码

慕侠2389804 2022-09-13 17:19:53
我有一堆PDF文件,其中一些是纯文本,但有些全部或部分保存为“每页一个图像”,因为它们是从扫描仪生成的。我需要提取PDF中包含的所有图像,然后分别检查每个图像。我能够使用PYthon脚本提取大部分图像,请参阅问题:从PDF中提取图像而不重新采样,在蟒蛇中?一些包含的图像是使用JBIG2编码的,我找不到任何python或其他工具将jbig2转换为可以使用通用图形工具轻松打开的东西。
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

好吧,我一直在努力解决这个问题很多周,SO的许多答案帮助我度过了难关,但总缺少一些东西,显然这里没有人遇到过jbig2编码图像的问题。

在我要扫描的一堆PDF中,用jbig2编码的图像非常受欢迎。

据我所知,有许多复印/扫描机器可以扫描纸张并将其转换为充满jbig2编码图像的PDF文件。

因此,经过多天的测试,决定选择很久以前dkagedal在这里提出的答案。

以下是我对linux的一步一步:(如果你有另一个操作系统,我建议使用Linux Docker,它会容易得多。

第一步:

然后我能够运行命令行工具,称为pdfimages,如下所示:

pdfimages -all myfile.pdf ./images_found/

使用上面的命令,您将能够提取myfile中包含的所有图像.pdf并且将它们保存在images_found中(您必须创建images_found之前)

在列表中,您可以找到几种类型的图像(取决于您的pdf),例如:png,jpg,tiff;所有这些都可以使用任何图形工具轻松阅读。

然后你会有一些文件命名为:-145.jb2e和-145.jb2g。

这2个文件包含一个图像编码在jbig2,这是保存在2个不同的文件,一个为标题和一个为数据

我再次失去了很多天,试图找出如何将这些文件转换为可读的东西,最后我遇到了这个名为jbig2dec的工具

因此,首先您需要安装此神奇工具:

apt-get install jbig2dec

然后您可以运行:

jbig2dec -t png -145.jb2g -145.jb2e

您最终将能够将所有提取的图像转换为有用的东西。

祝你好运!


查看完整回答
反对 回复 2022-09-13
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信