如何利用Python对PDF文件做OCR识别

Python011

如何利用Python对PDF文件做OCR识别,第1张

1.安装tesseract

2.安装PyOCR

3.安装Wand和PIL

在我们开始之前,还需要另外安装两个依赖包。一个是Wand。它是Imagemagick的Python接口。

我们需要使用它来将PDF文件转换成图像

我们也需要PIL因为PyOCR需要使用它。你可以查看官方文档以确定如何将PIL安装到你的操作系统中。

5.开始

现在我们需要获得OCR库(在本例中,即tesseract)的句柄以及我们在PyOCR中将使用的语言:

我们使用tool.get_available_languages里的第二种语言,因为之前我曾尝试过,第二种语言就是英语。

接着,我们需要建立两个列表,用于存储我们的图像和最终的文本。

下一步,我们需要采用wand将一个PDF文件转成jpeg文件。让我们试一试吧!

注意:将PDF_FILE_NAME替换成当前路径下的一个可用的PDF文件名。

wand已经将PDF中所有的独立页面都转成了独立的二进制图像对象。我们可以遍历这个大对象,并把它们加入到req_image序列中去。

现在,我们仅仅需要在图像对象上运行OCR即可,非常简单:

现在,所有识别出的文本已经加到了final_text序列中了。你可以任意地使用它。以上就是利用Python对PDF文件做OCR识别的全部内容,希望这个教程能够帮助到你们!

一、原理

1、将PDF文档每页转换为图像

2、调用 百度通用文本识别 页面接口,对图像进行内容识别

3、对图像内容进行对比,并将对比不一致的内容在文档图像上进行标记(红框)

4、将对比结果表格输出为html,以便进行识别

二、范围和限制

1、目前仅支持PDF文档之间的对比

2、无法识别图形(盖章和logo)、不清晰字迹

3、需要联网使用(OCR使用的是百度通用文本识别接口,仅限测试使用,暂不限次数)

4、对比存在误差(原因为百度OCR识别无法达到100%准确)

三、安装库

pip install pymupdf

pip install requests

四、参数

originPDF: PDF文档原件路径

contrastPDF: PDF文档扫描件路径

resultRoot: 输出结果路径(提示:程序运行后会清空该目录,请不要直接设置桌面)

输出 : 标注差异的文档图像、Html文档

五、源码

六、执行结果示例: