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文档
五、源码
六、执行结果示例: