Communitygithub.com

Doc-OCR 文档识别 + 结构化

Hermes Skills: 影片轉文字 / AI 文案去味 / 文件 OCR / 電商素材工坊

Doc-OCR 文档识别 + 结构化 是什麼?

此技能提供 PDF、掃描文件或圖片轉換為可編輯文字並進一步結構化的功能。支援多種作業系統(macOS 上利用內建 Vision 框架進行 OCR),可處理中文與英文內容,自動偵測文件是否有文字層,無文字層時自動觸發 OCR,並進行版面還原,將多欄或複雜排版按閱讀順序重排,而非單純輸出裸行文字。此外,可透過 LLM 進行結構化資料抽取,例如從發票中擷取號碼、日期、金額,從合約中擷取當事人、金額、工期,或將表格轉換為 CSV 格式。支援單一檔案處理與批次目錄處理,錯誤檔案不中斷整個批次,具有隱私優勢(絕大多數處理在本機執行,僅結構化抽取需要呼叫 LLM API)。整合於 Hermes Skills 生態中,適合開發者與 AI 代理用於文件數位化、資料萃取等場景。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add jiawood2006/hermes-skills

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Doc-OCR 文件識別 + 結構化

PDF / 掃描檔 / 圖片 → 可編輯文字 → 結構化資料。有文字層的 PDF 直接提取,掃描檔自動 OCR(macOS Vision 內建,中英文),版面還原(多欄/複雜排版依閱讀順序重排,非裸行輸出),OCR 後可用 LLM 抽取發票/合約欄位、轉表格。

📁 安裝:hermes skills install jiawood2006/hermes-skills/skills/doc-ocr 或依 README 方式二複製 → 預設在 ~/.hermes/skills/utilities/doc-ocr/。以下指令基於該路徑。

觸發條件

使用者提供 PDF/圖片檔案,要求:

  • "提取文字""轉文字""OCR"
  • 處理掃描檔、合約、發票、書頁、截圖
  • "提取發票資訊""合約要點""轉成表格"(結構化)

使用步驟

1. 單一檔案 → 文字

python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py 合約.pdf
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py 發票.jpg

輸出儲存為 <輸入名>_ocr.txt。

2. 批次目錄(逐檔案容錯,壞檔不中斷)

python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py ./掃描檔/ -o 全部.txt
# 批次完成輸出彙總:成功 N/M + 失敗清單(壞檔單獨記錄不中斷整批)

3. Markdown 輸出 / 多欄 PDF 強制版面還原

python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py 書.pdf --md
# 多欄 PDF 文字層亂序時,強制走 Vision OCR 版面還原:
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py 雙欄論文.pdf --md --force-ocr

4. 結構化抽取(發票/合約/表格,需 LLM key)

# 先 OCR,再抽取欄位
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py 發票.jpg
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/docstruct.py 發票_ocr.txt --type invoice

# 合約欄位(甲方/乙方/金額/工期/違約條款)
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/docstruct.py 合約_ocr.txt --type contract

# 表格 → CSV
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/docstruct.py 表格_ocr.txt --type table -o 表格.csv
  • --type invoice:發票號碼/日期/金額/稅額/價稅合計/購買方/銷售方/稅號
  • --type contract:合約名稱/甲乙雙方/簽訂日期/金額/付款方式/工期/違約條款
  • --type table:自動識別行列結構 → CSV
  • 輸出友善顯示 + 可儲存 JSON/CSV(-o)

依賴(首次使用時安裝)

pip3 install pymupdf pyobjc-framework-Vision
# 結構化抽取需 LLM key(環境變數 LLM_API_KEY 或 ~/.deai_writer.conf)

注意:OCR 依賴 macOS Vision(僅 macOS 可用)。Linux 需另裝 tesseract 等引擎。

已知陷阱

  • 掃描檔判定:PDF 文字層 <20 字自動走 OCR,正常 PDF 直接提取。
  • 版面還原:Vision OCR 依文字框座標重排(從上到下、同行從左到右);雙欄印刷體會被當成"先左欄再右欄"處理,適合論文/報告,雜誌花式排版可能仍亂序——用 --force-ocr + 目測。
  • 手寫體:Vision 對印刷體/清晰手寫效果好,潦草手寫不保證。
  • 隱私賣點:檔案在本機處理,不上傳第三方(結構化抽取會調 LLM API,注意敏感檔案)。
  • 欄位缺失:docstruct 對缺失欄位填 null 不編造,OCR 品質差時欄位會少。
  • 批次容錯:目錄模式單檔案失敗會記錄進彙總,不會中斷整批。

快速驗證 / Smoke Test

# 安裝驗證(無文件在手也能跑)
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py --help
# 有任意 PDF/圖片時的真正驗證
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py 任意文件.pdf --md
# 預期:輸出 *_ocr.md,含可編輯文字

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能