如何使用程序通过OCR识别解析PDF中的表格

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/ppstructure/table/README_ch.md#41-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B
Paddle-structure是目前我们能找到的可以做中英文版面分析较好的一个基础模型,其开源版可以识别十类页面元素。这篇文章介绍演示如何使用。

pdf的解析大体上有两条路,一条是基于规则,一条是基于AI。所谓基于规则就是根据文档的组织特点去"算"每部分的样式和内容。笔者认为这种方式很不通用,因为pdf的类型、排版实在太多了,没办法穷举。因此笔者采用AI的方式来解决:目标检测 和 OCR文字识别

一、Paddle-structure

流程说明:

  1. 图片由单行文字检测模型检测到单行文字的坐标,然后送入识别模型拿到识别结果。
  2. 图片由SLANet模型拿到表格的结构信息和单元格的坐标信息。
  3. 由单行文字的坐标、识别结果和单元格的坐标一起组合出单元格的识别结果。
  4. 单元格的识别结果和表格结构一起构造表格的html字符串。

二、效果

三、安装使用

下载源码地址:GitHub - PaddlePaddle/PaddleOCR: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)

下载源码包

上传到服务器上

复制代码
unzip PaddleOCR-release-2.7.zip 

cd PaddleOCR-release-2.7

cd  ppstructure

# 下载模型
mkdir inference && cd inference
# 下载基于PubTabNet数据集训练的文本检测模型并解压
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/table/en_ppocr_mobile_v2.0_table_det_infer.tar && tar xf en_ppocr_mobile_v2.0_table_det_infer.tar
# 下载基于PubTabNet数据集训练的文本识别模型并解压
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/table/en_ppocr_mobile_v2.0_table_rec_infer.tar && tar xf en_ppocr_mobile_v2.0_table_rec_infer.tar
# 下载基于PubTabNet数据集训练的表格识别模型并解压
wget https://paddleocr.bj.bcebos.com/ppstructure/models/slanet/en_ppstructure_mobile_v2.0_SLANet_infer.tar && tar xf en_ppstructure_mobile_v2.0_SLANet_infer.tar
cd ..

python3 table/eval_table.py \
    --det_model_dir=inference/en_ppocr_mobile_v2.0_table_det_infer \
    --rec_model_dir=inference/en_ppocr_mobile_v2.0_table_rec_infer \
    --table_model_dir=inference/en_ppstructure_mobile_v2.0_SLANet_infer \
    --image_dir=train_data/table/pubtabnet/val/ \
    --rec_char_dict_path=../ppocr/utils/dict/table_dict.txt \
    --table_char_dict_path=../ppocr/utils/dict/table_structure_dict.txt \
    --det_limit_side_len=736 \
    --det_limit_type=min \
    --rec_image_shape=3,32,320 \
    --gt_path=path/to/gt.txt

我按照官方只指示跑的时候,有问题

首先说服务器上缺少 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found 这个不太好解决。我在docker容器里跑的。

还是有问题 缺少paddle

复制代码
 pip install paddlepaddle   -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完以后就可以运行上述命令了。

最终得到结果:一个html的内容。就是解析后的结果,还输出了一个excel文件到了 ../output/table下。

excel

对比原图片

相关推荐
2501_930707781 天前
使用C#代码在 PDF 文档中创建列表
pdf
AI导出鸭2 天前
Claude的LaTeX生成PDF文件复制后数学公式乱码,怎样修改?专业用户首选“AI导出鸭”
人工智能·pdf·ai导出鸭
qyyyyy5703 天前
外文 PDF 怎么整理成 Markdown?从翻译、内容提取到 RAG 知识库导入
自然语言处理·pdf·erlang·机器翻译·零知识证明
AI导出鸭3 天前
Perplexity的LaTeX生成PDF文件复制后数学公式乱码,怎样修改?AI导出鸭苹果版的技术拆解与批量之道
人工智能·pdf·ai导出鸭
SpaceAIGlobal4 天前
AI PPT生成工具哪些支持PDF文档导入?
人工智能·ai·pdf·powerpoint·办公
Xxtaoaooo4 天前
极空间部署Stirling PDF:搭建自托管PDF工具箱并实现远程访问
pdf·cpolar·stirling pdf
SamChan904 天前
对比 4 种主流 PDF 文档解析方案:PyMuPDF vs pdfplumber vs Apache PDFBox vs 大模型 OCR
python·ai·pdf·ocr·apache·机器翻译
AI刀刀5 天前
Kimi 文档导出格式错乱、排版丢失、导出报错?AI 导出鸭一键智能适配,稳定输出规范 Word、PDF,高效解决各类导出难题
人工智能·pdf·word·ai导出鸭
Ai-_Man5 天前
豆包智能体把对话批量导出为Word或PDF的正确顺序
人工智能·ai·小程序·pdf·word
SamChan905 天前
FastAPI+Celery+Redis搭建企业级PDF翻译异步任务系统
redis·后端·python·pdf·wpf·fastapi