Python实现 pdf 转图片 + ocr识别图片文字

您所在的位置:网站首页 用python批量提取pdf Python实现 pdf 转图片 + ocr识别图片文字

Python实现 pdf 转图片 + ocr识别图片文字

2023-07-10 14:28| 来源: 网络整理| 查看: 265

文章目录 pdf 转图片使用 ocr 识别文字

想把 pdf 中的文字提取出来的思路是: 先将 pdf 的每一张都转成图片,然后使用 ocr 技术识别出图片中的文字。

pdf 转图片

核心第三方库是 pdf2image 。

具体怎么操作直接看 python 代码就好了。

""" 批量将pdf文件转换成图片jpeg格式 """ from pdf2image import convert_from_path import os import shutil from tqdm import tqdm import json def pdfToJpeg(dirpath, outputpath): for root, dirs, files in os.walk(dirpath): for file in tqdm(files): file_path = os.path.join(root, file) pages = convert_from_path(file_path, dpi=200) articleID = file[:-4] saveDir = outputpath + '\\' + str(articleID) if os.path.exists(saveDir): shutil.rmtree(saveDir) # 如果存在则删除 os.makedirs(saveDir) for i, page in enumerate(pages): page.save(saveDir + '\\' + f'out{i}.jpg') def main(): dirpath = r'E:\fw\ISISPDF330\currentPDFbendi' outPath = r'E:\fw\JPEG\bendi' pdfToJpeg(dirpath, outPath) if __name__ == '__main__': main() 使用 ocr 识别文字

核心第三方库是 paddleocr 。

from pdftojpeg import pdfToJpeg from paddleocr import PaddleOCR import os def write_to_txt(lines): pass def main(): PDFAddress = "pdf" JPEGAdress = "jpeg" pdfToJpeg(PDFAddress, JPEGAdress) # 调用 pdf 转 图片 ocr = PaddleOCR(use_angle_cls=True, lang="ch") for root, dirs, files in os.walk(JPEGAdress): files.sort(key=lambda x: eval(x[3:-4])) # 排序是为了在读取JPG文件时按照指定顺序读取。 for file in files: img_path = os.path.join(root, file) result = ocr.ocr(img_path, cls=True) lines = [] for line in result: lines.append(line[-1][0]) print(lines) print('\n') if __name__ == '__main__': main()

过一段时间之后 paddlepaddle 的函数使用方法可能会变,这个时候去百度飞浆的官网查一下就好了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3