第三方模块PyPdf2只能识别PDF文件的英文字符,对中文字符没有办法。这里介绍一种识别PDF非英文文字的方法:先引进第三方模块Wand把PDF文件转成图片,再引进第三方模块PyOCR或Pytesseract把图片上的文字识别出来,所以归根结底是将图片上的文字识别出来。Wand、PyOCR或Pytesseract为python可以引入的第三方模块,内核是图片处理的软件包Imagemagick和光学字符识别OCR(Optical Character Recognistion)软件包。字符识别OCR把图片上的文字自动识别出来,转换成我们能处理的字符串,这里使用Tesseract这个软件包来做OCR。
Mac上可以用homebrew安装Tesseract,参见百宝箱里的Homebrew的概述和安装;Tesseract用命令行识别图片上的文字,不依赖python环境,应该用tesseract命令识别图片上的文字确保tesseract可以正常工作(详见百宝箱里的安装和使用Tesseract)。另外还要安装第三方模块图片处理模块pillow,Pytesseract和PyOCR都需要它的支持。