文档灵析

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

📖 技能介绍


name: doc-lingxi version: 1.0.0 displayName: 文档灵析 slug: doc-lingxi description: | 专业级中文文档 OCR 技能,基于百度飞桨云 API。 支持文档解析(表格还原、公式 LaTeX、版面分析)、文字识别、批量处理和 Excel 表格导出。 专为中文发票、身份证、合同、论文等国内办公场景优化,无需本地 GPU。 This skill should be used when users need to extract text, tables, formulas from Chinese documents (invoices, contracts, academic papers, ID cards, business licenses), perform OCR on images or PDFs with Chinese content, or convert scanned documents to structured Markdown/JSON/Excel. category: 通用办公 tags: [ocr, document-parsing, text-recognition, chinese, table-extraction, invoice, paddleocr, office-automation, excel-export] license: Apache-2.0


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 KeySecret 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 输出
  • 合同/法律文档 → 条款结构保留
  • 多栏排版 → 自动版面分析
  • 含图表的文档 → 图表区域单独标注

能力二:文字识别 (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 逐词结果,每个元素含 textbbox(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 条款编号保留、签章区域标注

错误处理

推荐访问7w4.net获取更多AI技能。

常见错误

错误 原因 解决
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