PaddleOCR 营业执照识别:一行代码把图片文档变成结构化数据
【免费下载链接】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
当你需要从营业执照、发票的图片扫描件中批量提取公司名称、税号和金额时,不必再人工录入。PaddleOCR 是一个开源 OCR 工具包,把图片和 PDF 文档转成 JSON/Markdown 结构化数据,支持 100+ 语言,解析结果可以直接喂给 LLM。
能做什么 📄
- 文本检测 + 识别:一次调用拿到所有文字行的文本、坐标和置信度
- 多语言:PP-OCRv6 单模型支持中文、英文、日文等 50 种语言,不用切换模型
- 版面分析:定位标题、表格、印章、文本块等版面元素
- 表格结构解析:自动还原表格行列,恢复成可编辑结构
- 输出 Markdown/JSON:结果带坐标信息,可直接接入 LLM 流程
| 模型 | 参数量 | 特点 |
|---|---|---|
| PP-OCRv6 medium | 34.5M | 比 PP-OCRv5 检测 +4.6%、识别 +5.1% |
| PP-OCRv6 tiny | 1.5M | 面向移动端与边缘设备 |
| PaddleOCR-VL-1.6 | 0.9B | 文档解析,OmniDocBench v1.6 得分 96.3% |
5 分钟跑通最小示例 🚀
python -m pip install paddlepaddle==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/ python -m pip install "paddleocr[all]" paddleocr ocr -i business_license.jpg也可以用 Python API 拿到结构化结果:
from paddleocr import PaddleOCR ocr = PaddleOCR() result = ocr.predict("business_license.jpg") for res in result: res.print() res.save_to_json("output")跑通的样子:终端打印出每行文字的识别结果和置信度,save_to_json会把检测坐标、识别文本、得分写成 JSON 文件。看到rec_texts里出现图上的"统一社会信用代码"等文字,就是成功了。
进阶玩法 🛠️
把 PDF 和 Office 文档一步转成 Markdown
整份合同、报表类 PDF 用 pp_structurev3 处理,它会一次性做版面分析、表格识别和公式识别,输出带坐标信息的 Markdown/JSON。Word、Excel、PPT 则有专门的 doc2md 命令,装完可选依赖后一条命令转 Markdown:
paddleocr pp_structurev3 -i report.pdf pip install "paddleocr[doc2md]" && paddleocr doc2md -i report.docx -o output.md用版面分析解析营业执照和表格单据
图中是一张扫描件,PaddleOCR 先定位标题、表格、文本块等版面元素,再对表格区域做结构识别,还原出行列关系。对营业执照来说,统一社会信用代码、注册资本、法定代表人各字段都会拿到独立框,后续只需按"字段名 → 取值"匹配即可,印章也会被单独识别,不干扰正文。
切换到 1.5M 参数轻量模型提速
如果业务单据以简单文本为主、对速度敏感,直接用 PP-OCRv6 的 tiny 档:1.5M 参数,手机端和边缘设备都能跑。官方给出的数据是 CPU 端到端提速 5.2 倍(OpenVINO 后端),Apple M4 上 6.1 倍,还支持 Paddle Lite、Paddle.js 等部署方式,详见 doc2md 与管线文档。
落地场景 🏢
- 企业开户 / 工商登记:批量提取营业执照上的公司名称、统一社会信用代码、法定代表人,直接进入开户系统,替代人工录入
- 发票报销:识别增值税发票票头的购销方、金额、税率、发票号,字段带置信度便于抽检
- RAG 知识库搭建:把扫描 PDF 解析成 Markdown 再喂给 LLM,Dify、RAGFlow 等 RAG 项目就基于 PaddleOCR 做文档解析
- 端侧与浏览器部署:PP-OCRv6 tiny 可跑在手机和浏览器里,适合隐私敏感、不想上传图片的离线场景
实用技巧与避坑 ⚠️
- Q:识别结果不准怎么办?先检查图片清晰度,再换 medium 精度档;结果里的
rec_scores就是置信度,对低分结果走人工复核,比盲目重跑更省时间。 - Q:处理速度太慢?实时场景换 tiny 模型或启用 GPU;解析普通单据时可关掉用不到的预处理开关,如
--use_doc_unwarping False、--use_doc_orientation_classify False。 - Q:图片旋转、竖排文字会漏识别吗?方向分类和文字行方向开关默认是开启的,保持默认即可自动矫正后再识别。
- Q:中英混排、多语言单据要换模型吗?不用。PP-OCRv6 一个模型覆盖 50 种语言,混合文档直接跑。
从识别一行字到把整本 PDF 变成 Markdown,上面的流程就是最短路径。管线参数和部署方式的细节可参考 官方快速上手文档;遇到 bug 或想要新特性,直接去仓库提 Issue,维护者响应很快。
【免费下载链接】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),仅供参考