资讯动态

PaddleOCR PP-StructureV3:从 PDF 到 Markdown 的完整文档解析指南

发布时间:2026/8/29 10:18:51 来源:尧图企业网站定制
PaddleOCR PP-StructureV3从 PDF 到 Markdown 的完整文档解析指南【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR多栏排版、嵌套表格与公式混杂的 PDF 和图片文档人工转写成本高、自动化提取又容易丢失结构。PaddleOCR 的 PP-StructureV3 产线把版面区域检测、文本识别、表格结构识别、公式与图表识别串成一条完整产线直接输出 Markdown / JSON / Word。本文覆盖安装步骤、最小可运行示例、典型场景的模型组合配置以及基于 OmniDocBench 数据的性能对比与选型建议帮你在半天内把文档解析能力接入现有项目。核心能力速览能力模块一句话说明典型适用场景版面区域检测定位文本、表格、公式、图表等 20 类版面元素论文、研报、报纸等多栏文档解析通用 OCR 子产线文本检测 识别PP-OCRv5 支持 100 语言扫描件、截图、票据的文字提取表格识别子产线有线/无线表分类、结构识别与单元格检测输出 HTML财务报表、实验数据表格转写公式识别子产线基于 PP-FormulaNet 系列模型输出 LaTeX学术论文、教材的公式保留预处理与可选模块文档方向分类、图像矫正、印章与图表识别、多栏阅读顺序恢复倾斜扫描件、含印章合同、图表解读PP-StructureV3 的定位是端到端文档解析产线你只需要一个输入文件产线内部完成区域检测、分类路由到各识别模型、阅读顺序恢复与 Markdown 拼装无需手工拼接各模型输出。架构与数据流一条 PDF 或图片进入产线后的处理流程如下文档预处理可选方向分类、图像矫正版面区域检测切出文本、表格、公式、图表等区域各区域按类型路由通用 OCR、表格识别、公式/图表/印章识别按多栏阅读顺序恢复拼接各块内容输出 Markdown / JSON / Word 结构化结果下图是一份英文医学文档的解析效果可以看到版面区域检测对表格区、正文区与标题区的定位结果快速上手先安装最小依赖Python 环境pip install paddlepaddle3.0.0 pip install paddleocr3.0.0下面这段代码用默认高精度配置解析一张文档图片并保存 JSON 与 Markdown 结果from paddleocr import PPStructureV3 pipeline PPStructureV3() # 默认配置服务端 OCR 版面检测 表格/公式/印章识别 output pipeline.predict(./pp_structure_v3_demo.png) for res in output: res.save_to_json(save_pathoutput) # 结构化 JSON含各区域坐标与识别结果 res.save_to_markdown(save_pathoutput) # 按阅读顺序拼装好的 Markdown首次运行会自动下载各模块模型建议预留磁盘空间。如果已有 GPU可在构造参数中加devicegpu。典型场景实践以下场景展示与默认配置不同的 API 组合可根据自身文档类型替换。PDF 转单文件 MarkdownPDF 输入时产线默认逐页输出独立的 Markdown 文件。如果你的目标是整份文档一个文件例如喂给 RAG 做切分需要用concatenate_markdown_pages手动拼接各页结果from pathlib import Path from paddleocr import PPStructureV3 pipeline PPStructureV3() output pipeline.predict(./report.pdf) markdown_list, markdown_images [], [] for res in output: md res.markdown markdown_list.append(md) markdown_images.append(md.get(markdown_images, {})) # 页面内嵌图片 merged pipeline.concatenate_markdown_pages(markdown_list) out_dir Path(./output) out_dir.mkdir(parentsTrue, exist_okTrue) (out_dir / report.md).write_text(merged, encodingutf-8) for pages in markdown_images: for name, image in pages.items(): (out_dir / name).write_bytes(image)预期输出output/report.md为整份 PDF 合并后的 Markdown页面中裁出的图片按相对路径一并落盘Markdown 中的图片引用可直接渲染。拼接完成后还可以用res.save_to_word在同一次推理循环里额外产出 Word 版本适合归档流程。轻量配置低延迟批量解析默认配置偏向精度模型体积和显存占用都不小。如果你的文档以简单扫描件为主、不需要公式与图表理解把各模块换成轻量版本可以明显降低单页耗时from paddleocr import PPStructureV3 pipeline PPStructureV3( layout_detection_model_namePP-DocLayout-S, # 4.8MB 轻量版面模型 text_detection_model_namePP-OCRv5_mobile_det, # 移动端文本检测 text_recognition_model_namePP-OCRv5_mobile_rec, # 移动端文本识别 use_formula_recognitionFalse, # 关闭公式识别 use_chart_recognitionFalse, # 关闭图表解析 use_seal_recognitionFalse, # 关闭印章识别 ) output pipeline.predict(./invoice.jpg) for res in output: res.save_to_markdown(save_pathoutput)预期输出结构与默认配置一致的 Markdown仅少了公式 LaTeX 与图表描述内容版面检测 GPU 耗时从 50ms 级降到 10ms 级V100 数据。英文与多语言文档产线默认使用中英文 PP-OCRv5 模型。纯英文或指定语言文档可通过lang切换识别模型例如英文文档、韩文文档from paddleocr import PPStructureV3 pipeline PPStructureV3(langen) # 自动选择英文识别模型 output pipeline.predict(./en_paper.pdf) for res in output: res.save_to_markdown(save_pathoutput)预期输出按英文识别模型产出的 Markdown。lang支持的语言清单与对应的ocr_version组合规则见文档目录docs/version3.x/pipeline_usage/PP-StructureV3.md的附录部分。性能与选型以下数据来自 OmniDocBench 评测编辑距离数值越低越好对比对象为常见的文档解析方案方法EN OverallZH OverallZH TextPP-StructureV30.1450.2060.088MinerU-0.9.30.1500.3570.215Marker-1.2.30.3360.5560.315速度方面V100 上 925 页混合文档的实测Server OCR PP-FormulaNet-L 且开启图表识别时约 4.1s/页关闭图表识别降至约 1.8s/页公式与图表模块是主要耗时项。分档建议如果你要在 CPU 或端侧做低延迟批量解析推荐轻量档PP-DocLayout-SPP-OCRv5_mobile系列并关闭公式、图表、印章模块。如果你处理以文本为主的通用文档合同、报告、新闻页推荐均衡档默认配置即可必要时用predict_iter流式处理控制内存。如果你解析学术论文或含大量公式的教材推荐高性能档PP-DocLayout_plus-L版面模型 PP-FormulaNet-L公式模型 开启use_chart_recognition预留 16GB 以上显存。常见问题 FAQ推理速度达不到预期默认配置加载的是服务端模型单模块精度优先。换成轻量模型组合即可提速典型改法见上节轻量配置同时关闭不需要的可选模块公式、图表能进一步降低 50% 以上耗时。pipeline PPStructureV3( layout_detection_model_namePP-DocLayout-S, text_detection_model_namePP-OCRv5_mobile_det, text_recognition_model_namePP-OCRv5_mobile_rec, )PDF 结果是按页拆开的如何合并predict对 PDF 逐页输出Markdown 默认每页一个文件。收集每页res.markdown后调用pipeline.concatenate_markdown_pages(markdown_list)拼接并同步落盘markdown_images中的裁切图片。显存或内存不足OOM优先关闭use_chart_recognition与use_formula_recognition两者模型体积最大再把predict换成predict_iter逐页处理、及时释放上一页的中间结果可显著降低峰值占用。总结与延伸版面、OCR、表格、公式一条产线打通Markdown / JSON / Word 三格式输出各模块模型可独立替换组合支持 100 语言与 GPU / CPU 部署PP-StructureV3 的价值在于把「文档到结构化数据」这段链路收敛为一次predict调用后续 PaddleOCR 对版面、表格与公式模块的每次迭代都可以直接热替换模型名接入。延伸阅读docs/version3.x/pipeline_usage/PP-StructureV3.md产线完整参数与各模块模型列表docs/version3.x/pipeline_usage/table_recognition_v2.md表格识别 v2 子产线细节paddleocr/_pipelines/pp_structurev3.py产线封装源码可查看所有可配置参数【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价