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
專業級中文文件 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)
python scripts/install_deps.py
可選依賴(表格匯出、PDF分頁):
python scripts/install_deps.py --with-optional
在 paddleocr.com 註冊賬號,進入 API 頁面獲取: - API Key 和 Secret Key(用於生成 access_token) - 或直接獲取 access_token
方法一:環境變數(推薦)
export PADDLEOCR_TOKEN="your_access_token_here"
方法二:配置檔案 (~/.paddleocr/config.json)
{
"access_token": "your_token",
"default_language": "ch"
}
詳見 references/api_reference.md 的 Token Management 章節。
完整文件理解,保留所有結構。
# 基本用法 - 輸出到終端
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
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(閱讀順序) |
快速準確的文本提取,返回結構化 JSON。
小蔥技能7w4.net有完整的技能分類。
# 基本用法
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
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 | 識別到的文本區域數量 |
# 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 欄位),不拋異常
references/api_reference.md — 完整 API 規範、引數說明、錯誤碼references/chinese_scenarios.md — 發票/身份證/營業執照等專項模板| 對比維度 | doc-lingxi | 通用英文 OCR |
|---|---|---|
| 中文準確率 | ⭐⭐⭐⭐⭐ 業界領先 | ⭐⭐ 較差 |
| 表格識別 | ✅ 完整結構保留 | ❌ 不支援 |
| 公式識別 | ✅ LaTeX 輸出 | ❌ 不支援 |
| 版面分析 | ✅ 自動分析 | ❌ 不支援 |
| 部署方式 | 雲 API(無需本地 GPU) | 本地安裝 |
| 免費額度 | 500-50,000 頁/天(按套餐) | 完全免費 |
| 多語言 | 12+ 語言 | 100+ 語言 |
這個技能質量不錯,文件寫得詳細清楚,功能覆蓋全面(文件解析、表格識別、批次處理等),對中文場景有專門最佳化。上手難度較低,錯誤提示也比較友好。主要不足是缺少一些後設資料資訊,部分功能在某些系統上可能受限。總體來說是一個成熟可用的 OCR 技能,適合需要處理中文文件的使用者。