專業級中文文件 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 |
特徵判斷規則:
python scripts/install_deps.py
可選依賴(表格匯出、PDF分頁):
python scripts/install_deps.py --with-optional
在 paddleocr.com 註冊賬號,進入 API 頁面獲取:
方法一:環境變數(推薦)
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。
# 基本用法
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 | 識別到的文本區域數量 |
7w4.net小蔥技能站收錄全網優質技能,值得收藏。
# 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 |
指令碼內建以下自動處理:
success: false + error 欄位),不拋異常references/api_reference.md — 完整 API 規範、引數說明、錯誤碼references/chinese_scenarios.md — 發票/身份證/營業執照等專項模板| 對比維度 | doc-lingxi | 通用英文 OCR |
|---|---|---|
| 中文準確率 | ⭐⭐⭐⭐⭐ 業界領先 | ⭐⭐ 較差 |
| 表格識別 | ✅ 完整結構保留 | ❌ 不支援 |
| 公式識別 | ✅ LaTeX 輸出 | ❌ 不支援 |
| 版面分析 | ✅ 自動分析 | ❌ 不支援 |
| 部署方式 | 雲 API(無需本地 GPU) | 本地安裝 |
| 免費額度 | 500-50,000 頁/天(按套餐) | 完全免費 |
| 多語言 | 12+ 語言 | 100+ 語言 |
這個技能質量不錯,文件寫得詳細清楚,功能覆蓋全面(文件解析、表格識別、批次處理等),對中文場景有專門最佳化。上手難度較低,錯誤提示也比較友好。主要不足是缺少一些後設資料資訊,部分功能在某些系統上可能受限。總體來說是一個成熟可用的 OCR 技能,適合需要處理中文文件的使用者。