使用Python进行OCR文字识别(识别PDF文字)

你也许听说过使用Python进行OCR(Optical Character Recognition)文字识别。关于OCR的库有很多,最著名的库是google赞助的tesseract。使用它在图像上执行OCR很简单,但是在PDF文档上执行OCR时,我遇到了不少问题。

问题描述:我有一个项目需要输入PDF文件,提取文本然后保存到数据库中。

安装Tesseract

tesseract支持多种平台并且安装也很简单。我使用的系统是Ubuntu,打开终端,执行:

上面命令安装了Tesseract/库和支持的3种语言。如果需要更多语言支持,去项目首页:https://github.com/tesseract-ocr,查看wiki。假设我要加入简体中文支持,去https://github.com/tesseract-ocr/tessdata,下载对应的训练数据:

Screen Shot 2016-02-27 at 17.27.18

把chi_sim.traineddata放到/usr/share/tesseract-ocr/tessdata 或 /usr/share/tessdata目录。

使用如下命令,提取图像中的文字:

开发者可以使用libtesseract的C/C++ API构建自己的应用程序,也可以和其它编程语言绑定,例如Python,PyOCR就是libtesseract的Python接口。

安装PyOCR

项目页:https://github.com/jflesch/pyocr

PyOCR依赖Pillow,安装:

我使用v0.3.1版:

安装PyOCR:

安装Wand

它是ImageMagick的python接口,用它来把PDF文件转换为图像:

导入库

执行,确保库全部安装。

代码

从PDF文件中识别的文本已经保存在了final_text中,后续就可以随意使用了。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注