Python实现 pdf 转图片 + ocr识别图片文字 |
您所在的位置:网站首页 › 用python批量提取pdf › Python实现 pdf 转图片 + ocr识别图片文字 |
文章目录
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 |