文档灵析

👤 岩罕哈 ✓ 已认证 📦 v1.0.0 ⭐ 4.6 ⬇️ 99 下载
📄 办公效率 免费 🔑 需 API Key

📖 技能介绍

PaddleOCR 中文文档解析技能

专业级中文文档 OCR 技能。基于百度飞桨引擎,支持文档解析和文字识别两大核心能力,中文场景准确率业界领先。

快速判断:用哪个模式?

用户需求 使用模式 脚本
"识别这个发票/合同/论文,保留表格和格式" 文档解析 scripts/paddleocr_api.py doc-parse
"把这个图片里的文字提取出来" 文字识别 scripts/paddleocr_api.py text-recog
"批量处理这些扫描件" 批量处理 scripts/paddleocr_api.py batch
"把OCR出来的表格导出成Excel" 表格导出 scripts/table_exporter.py
"安装/检查依赖" 依赖管理 scripts/install_deps.py

特征判断规则:

  • 有表格/公式/多栏排版 → 文档解析 (doc-parse)
  • 纯文字截图/简单图片 → 文字识别 (text-recog)
  • 多文件 → 批量处理 (batch)

安装与配置

1. 安装依赖

python scripts/install_deps.py

可选依赖(表格导出、PDF分页):

python scripts/install_deps.py --with-optional

2. 获取 PaddleOCR API 凭证

在 paddleocr.com 注册账号,进入 API 页面获取:

  • API Key 和 Secret Key(用于生成 access_token)
  • 或直接获取 access_token

3. 配置凭证

方法一:环境变量(推荐)

export PADDLEOCR_TOKEN="your_access_token_here"

方法二:配置文件 (~/.paddleocr/config.json)

{
  "access_token": "your_token",
  "default_language": "ch"
}

详见 references/api_reference.md 的 Token Management 章节。


能力一:文档解析 (Document Parsing)

完整文档理解,保留所有结构。

CLI 使用

# 基本用法 - 输出到终端
python scripts/paddleocr_api.py doc-parse invoice.jpg

# 保存为 Markdown 文件
python scripts/paddleocr_api.py doc-parse report.pdf -o report.md --json-output report.json

# 中英混合文档
python scripts/paddleocr_api.py doc-parse paper.pdf --language ch_en

# 完整参数
python scripts/paddleocr_api.py doc-parse contract.pdf \
  --token "your_token" \
  --language ch \
  --format both \
  --output contract.md \
  --json-output contract.json \
  --timeout 180

Python API

from scripts.paddleocr_api import parse_document

result = parse_document(
    "invoice.jpg",
    access_token="your_token",  # 或设置 PADDLEOCR_TOKEN 环境变量
    language="ch",
    output_format="markdown"
)

if result["success"]:
    print(result["text"])          # Markdown 格式文本
    print(result["tables"])        # 提取的表格数据
    print(result["formulas"])      # LaTeX 格式公式
    print(result["layout"])        # 版面分析结果

返回结果说明

字段 类型 说明
text string Markdown 格式完整文本,含表格(Markdown table)和公式($$...$$)
tables list 表格数组,每个元素含 cells(二维数组)和 bbox(位置)
formulas list 公式数组,每个元素含 latex(LaTeX 字符串)和 bbox
layout dict 版面分析:blocks(区域类型和位置)和 reading_order(阅读顺序)

适用场景

  • 发票/财务报告 → 表格完整保留
  • 学术论文 → 公式以 LaTeX 输出

    7w4.net小葱技能站,你的AI助手技能库。

  • 合同/法律文档 → 条款结构保留
  • 多栏排版 → 自动版面分析
  • 含图表的文档 → 图表区域单独标注

能力二:文字识别 (Text Recognition)

快速准确的文本提取,返回结构化 JSON。

CLI 使用

# 基本用法
python scripts/paddleocr_api.py text-recog photo.jpg

# 保存结果
python scripts/paddleocr_api.py text-recog scan.png -o text.txt --json-output result.json

# 英文识别
python scripts/paddleocr_api.py text-recog english_doc.jpg --language en

Python API

from scripts.paddleocr_api import recognize_text

result = recognize_text(
    "screenshot.png",
    access_token="your_token",
    language="ch",
    detect_direction=True
)

if result["success"]:
    print(result["text"])           # 纯文本(换行分隔)
    for word in result["words"]:    # 逐词结果
        print(f"  [{word['bbox']}] {word['text']}")

返回结果说明

字段 类型 说明
text string 纯文本,按行分隔
words list 逐词结果,每个元素含 text、bbox(top/left/width/height)
direction int 文字方向(0=水平,1=竖排)
words_result_num int 识别到的文本区域数量

适用场景

  • 截图文字提取
  • 照片/扫描件快速 OCR
  • 简单文档纯文本提取
  • 需要结构化 JSON 的二次开发

能力三:批量处理

# CLI 批量处理
python scripts/paddleocr_api.py batch page1.jpg page2.jpg page3.jpg --mode parse -d ./results

# 并发处理(Unix/macOS 下可用通配符,Windows 下请用具体文件名)
python scripts/paddleocr_api.py batch *.jpg --mode parse --workers 5
# Python API
from scripts.paddleocr_api import batch_process

results = batch_process(
    ["page1.jpg", "page2.jpg", "page3.jpg"],
    mode="parse",                    # "parse" 或 "recognize"
    output_dir="./ocr_results",      # 结果保存目录
    language="ch",
    max_workers=3,                   # 并发线程数
)

# 每个文件生成 {filename}.parse.json 或 {filename}.recognize.json

能力四:表格导出

将文档解析结果中的表格导出为 Excel 或 CSV。

# 导出为 Excel(默认),每张表一个 Sheet
python scripts/table_exporter.py result.json --format xlsx -o tables.xlsx

# 导出为 CSV
python scripts/table_exporter.py result.json --format csv -o ./tables/

# 只导出第1和第3张表
python scripts/table_exporter.py result.json --table-index 1 3

中文场景专项优化

针对国内常见文档类型的特殊处理,详见 references/chinese_scenarios.md:

场景 推荐模式 关键优化
发票 doc-parse 金额大小写配对、发票号码正则提取
身份证 text-recog 18位身份证号校验、出生日期提取
营业执照 doc-parse 统一社会信用代码提取
学术论文 doc-parse ch_en 语言、公式 LaTeX 输出
合同/法律文档 doc-parse 条款编号保留、签章区域标注

错误处理

常见错误

错误 原因 解决
FileNotFoundError 文件不存在 检查文件路径
ValueError: access token required 未配置 Token 设置 PADDLEOCR_TOKEN 环境变量
API Error [17] 每日调用量超限 等待次日或升级套餐
API Error [110/111] Token 过期 重新获取 Token(有效期30天)
Request timed out 大文件处理超时 增加 timeout 参数或拆分文件
Unsupported file type 文件格式不支持 转换为 JPG/PNG/PDF

自动处理

脚本内置以下自动处理:

  • RGBA → RGB 自动转换
  • 大图自动缩放(保持宽高比)
  • Base64 编码自动完成
  • 临时错误自动重试(默认 3 次,指数退避)
  • 错误时返回结构化错误信息(success: false + error 字段),不抛异常

参考资源

  • API 详细文档:references/api_reference.md — 完整 API 规范、参数说明、错误码
  • 中文场景指南:references/chinese_scenarios.md — 发票/身份证/营业执照等专项模板
  • PaddleOCR 官网:https://www.paddleocr.com
  • 百度 AI 开放平台:https://ai.baidu.com/tech/ocr

与同类技能对比

对比维度 doc-lingxi 通用英文 OCR
中文准确率 ⭐⭐⭐⭐⭐ 业界领先 ⭐⭐ 较差
表格识别 ✅ 完整结构保留 ❌ 不支持
公式识别 ✅ LaTeX 输出 ❌ 不支持
版面分析 ✅ 自动分析 ❌ 不支持
部署方式 云 API(无需本地 GPU) 本地安装
免费额度 500-50,000 页/天(按套餐) 完全免费
多语言 12+ 语言 100+ 语言

🤖 AI 评测

这个技能质量不错,文档写得详细清楚,功能覆盖全面(文档解析、表格识别、批量处理等),对中文场景有专门优化。上手难度较低,错误提示也比较友好。主要不足是缺少一些元数据信息,部分功能在某些系统上可能受限。总体来说是一个成熟可用的 OCR 技能,适合需要处理中文文档的用户。

📊 多维度评分

适应性4.2
规范性4.6
有效性4.7
可靠性4.6
可信度4.9

📁 包含文件 (6 个)

📄 SKILL.md 9.2 KB
📄 references/api_reference.md 7.8 KB
📄 references/chinese_scenarios.md 3.9 KB
📄 scripts/install_deps.py 4.5 KB
📄 scripts/paddleocr_api.py 21.2 KB
📄 scripts/table_exporter.py 5.5 KB