【如何批量从PDF提取数据并生成excel】

您所在的位置:网站首页 怎么提取pdf上的文字和图片 【如何批量从PDF提取数据并生成excel】

【如何批量从PDF提取数据并生成excel】

2023-09-15 08:21| 来源: 网络整理| 查看: 265

如何批量从PDF提取数据并生成excel

最近帮同学处理一些扫描生成的统计年鉴,需要将里面的数据提取出来到excel文件中,但是市面上能找到的要么是收费,要么是识别不准确、结果乱码等等。在GitHub上看到一些开源的项目,在此基础上进行了一些修改,可以批量对文件进行识别,测试后效果尚可。 首先需要将pdf文件生成图片格式的文件 网上有很多教程,不再赘述

然后,主要依赖于paddleOCR开发的新功能 新功能主要是针对一张完整的PDF图片,可以对文档图片中的文本、表格、图片、标题与列表区域进行分类。同时还可以利用表格识别技术完整地提取表格结构信息,使得表格图片变为可编辑的Excel文件。(具体需要安装的包,参考原始链接)

# coding:utf-8 # pdf2excel.py # by smy import os import cv2 import glob import time from paddleocr import PPStructure,draw_structure_result,save_structure_res table_engine = PPStructure(show_log=True) start =time.perf_counter() path = input('请输入待处理文件位置:') # 文件输出目录 save_folder = path + '/table' # 输入的图片 paths = glob.glob(os.path.join(path, '*.png')) paths.sort() for img_path in paths: img = cv2.imread(img_path) result = table_engine(img) save_structure_res(result, save_folder,os.path.basename(img_path).split('.')[0]) for line in result: line.pop('img') print(line) from PIL import Image # 输出字体 font_path = path + '/fonts/simfang.ttf' image = Image.open(img_path).convert('RGB') im_show = draw_structure_result(image, result,font_path=font_path) im_show = Image.fromarray(im_show) im_show.save('result.jpg') end = time.perf_counter() print('Running time: %s Seconds'%(end-start)) print('文件转换完成!');

以下为原始文件和识别结果对比 原始文件 请添加图片描述 识别结果 请添加图片描述

GitHub: https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.2/ppstructure



【本文地址】


今日新闻


推荐新闻


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