有些PDF页面是图片格式,要怎么批量把图片中的文字识别出来?借助ChatGPT可以轻松完成这个任务。
首先要安装一些相关的软件和Python库。
安装tesseract-ocr(OCR)软件,最新版的是tesseract-ocr-w64-setup-v5.3.0.20221214.exe ,下载地址是https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.3.0.20221214.exe
要从图片中识别字符,就得使用光学字符识别(OCR)技术。
注意安装中文字库。
然后把D:\Program Files (x86)\TesseractOCR 添加到环境变量。
安装OCR库::pip install pytesseract
安装poppler-windows软件。Poppler 是一个用来生成 PDF 的 C++ 类库,从 xpdf 继承而来。它使用了很多先进的类库例如 freetype 和 cairois 来达到更好的输出效果,同时也提供了一组命令行工具包。下载地址:https://github.com/oschwartz10612/poppler-windows/releases/tag/v23.07.0-0
安装完成后,添加到系统环境变量:D:\Program Files (x86)\poppler-23.07.0\Library\bin
然后在ChatGPT中输入提示词:
写一段Python程序,实现PDF文件中图片识别出文字的任务。具体步骤如下:
F盘“北交所精选层招股说明书”文件夹里面有很多PDF文件,用pdf2image库将PDF文件第一页转为PNG图片,保存图片到“北交所精选层招股说明书”文件夹;
用pytesseract库将图片识别为文本,保存文本文件到“北交所精选层招股说明书”文件夹;
注意:每一步都要输出信息;图片中的文本为中文字符;
这是PDF文件中的图片:
这是识别出的文字:
效果还是不错的。