首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PDF中提取图像,如何处理JBIG2编码

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

Stack Overflow用户
提问于 2020-03-25 14:40:27
回答 1查看 1K关注 0票数 2

我有一堆PDF文件,其中一些是纯文本,但有些是完全或部分保存为“每页一张图像”,因为它们是由扫描仪生成的。

我需要提取中包含的所有图像,然后分别检查每个图像。

我能够使用这里找到的python脚本提取中的大多数图像,请参阅问题:

Extract images from PDF without resampling, in python?

有些包含的图像是用JBIG2编码的,我找不到任何python或其他工具来将jbig2转换成可以用通用图形工具轻松打开的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-25 14:40:27

嗯,我已经为这个问题挣扎了好几个星期,许多答案帮助我度过难关,但是总有一些东西缺少,显然这里没有人对jbig2编码的图像有问题。

在我将要扫描的PDF文件中,用jbig2编码的图像非常流行。

据我所知,有许多拷贝/扫描机器扫描文件,并将它们转换成充满jbig2编码图像的PDF文件。

因此,经过许多天的测试,很久以前,dkagedal就决定采用dkagedal提出的答案。

下面是我在linux上的一步一步的:(如果您有另一个操作系统,我建议使用linux,这会容易得多)。

第一步:

apt-get安装poppler,然后我能够运行命令行工具pdfimages,如下所示:

代码语言:javascript
复制
pdfimages -all myfile.pdf ./images_found/

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

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

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

这两个文件包含一个用jbig2编码的图像,保存在两个不同的文件中,一个用于头文件,一个用于数据。

我又浪费了很多天,试图找出如何将这些文件转换成可读的东西,最后我遇到了一个名为jbig2dec的工具。

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

apt-获取安装jbig2dec

然后你就可以跑:

代码语言:javascript
复制
jbig2dec -t png -145.jb2g -145.jb2e

你将最终能够把所有提取出来的图像转换成有用的东西。

祝好运!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60851124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档