1. 准备

  1. 下载OCR核心工具包Tesseract并安装,参考Tesseract OCR 下载及安装教程 (中英文语言包)_eng.traineddata下载-CSDN博客,注意中文语言包需要下载,如果不下载语言包,可能无法识别中文。
  2. 下载PDF转图片工具包Releases · oschwartz10612/poppler-windows (github.com);如果仅仅是OCR图片,可以不用下载这个
  3. 完成后,将上述两个的(tesseract.exe&pdfimages.exe)目录加入到电脑的环境变量PATH中:

2 安装python 依赖

下面安装Python 的依赖

pip install pytesseract
pip install pdf2image

3 识别图片

def ocr_image():
    from PIL import Image
    # 打开图片
    image = Image.open('demo.png')
    # 使用pytesseract进行OCR识别
    text = pytesseract.image_to_string(image, lang='chi_sim') # lang设置为中文
    # 输出识别结果
    print(text)

4 识别pdf

def ocr_pdf(pdf):
    from pdf2image import convert_from_path
    # 设置tesseract.exe的路径
    pytesseract.pytesseract.tesseract_cmd = r'D:\Games\TesseractOCR5\tesseract.exe'
    # 将PDF文件转换为图像
    images = convert_from_path(pdf,dpi=200, first_page=0, last_page=3,size=(1000*3,1414*3)) #适当提高size参数可以提升识别准确率!x2~4
    # 对每一页进行OCR处理
    for i, image in enumerate(images):
        text = pytesseract.image_to_string(image, lang='chi_sim') # !lang设置为中文
        print(f"第{i + 1}页的内容:")
        print(text)
        # 识别完成后可以存文件~