百度文件解析pipeline-parser

👤 maglanyulan 📦 v1.0.7 ⭐ 4.6 ⬇️ 811 下載
📄 辦公效率 免費 🔑 需 API Key

📖 技能介紹


name: baidu-doc-pipeline-parser 百度文件解析 description: 呼叫百度文件解析API解析文件。支援PDF、Word、Excel、PPT、圖片等18+格式。提取文本、表格、版面分析、OCR識別及RAG文件分塊。當用戶需要解析文件、提取文本/表格、分析文件結構、處理掃描件時使用。觸發詞:文件解析、PDF解析、Word解析、表格提取、OCR、文件分析、提取文本、文件結構、掃描識別。 license: MIT


百度文件解析 Skill

基於百度智慧文件分析平臺 API,提供文件解析能力。

功能概述

  • 支援對 doc、pdf、圖片、xlsx 等 18 種格式文件進行解析
  • 輸出文件的版面、表格、閱讀順序、標題層級、旋轉角度等資訊
  • 支援中、英、日、韓、法等 20 餘種語言型別
  • 可返回 Markdown 格式內容,將非結構化資料轉化為易於處理的結構化資料
  • 識別準確率可達 90% 以上
  • 文件分塊(適用於 RAG 場景)

適用場景

當用戶需要: - 解析 PDF、Word、Excel 等格式文件 - 從文件中提取文本內容 - 識別並提取表格資料 - 分析文件結構(標題層級、章節、版面佈局) - 對掃描件進行 OCR 文字識別 - 將文件分塊用於 RAG 應用

免費資源領取和計費說明

百度智慧文件分析平臺 領取免費測試資源

百度智慧文件分析平臺計費與購買方式

使用者型別 免費額度
個人實名認證使用者 200 頁
企業實名認證使用者 1000 頁

API 配置

額度獲取方式

您可通過百度智慧雲平臺獲取免費額度購買呼叫資源

環境變數(必須)

百度智慧文件分析平臺 領取免費測試資源

使用前請設定以下環境變數:

export BAIDU_DOC_AI_API_KEY="your_api_key"
export BAIDU_DOC_AI_SECRET_KEY="your_secret_key"

認證方式

通過 API Key 和 Secret Key 獲取 access_token,有效期 30 天。

支援格式

版式文件:pdf, jpg, jpeg, png, bmp, tif, tiff, ofd, ppt, pptx

流式文件:doc, docx, txt, xls, xlsx, wps, html, mhtml

支援語言

CHN_ENG(中英文)、JAP(日語)、KOR(韓語)、FRE(法語)、SPA(西班牙語)、POR(葡萄牙語)、GER(德語)、ITA(義大利語)、RUS(俄語)、DAN(丹麥語)、DUT(荷蘭語)、MAL(馬來語)、SWE(瑞典語)、IND(印尼語)、POL(波蘭語)、ROM(羅馬尼亞語)、TUR(土耳其語)、GRE(希臘語)、HUN(匈牙利語)、THA(泰語)、VIE(越南語)、ARA(阿拉伯語)、HIN(印地語)

使用方式

python3 scripts/baidu_doc_parser.py --file_data <檔案的base64編碼>
python3 scripts/baidu_doc_parser.py --file_url <檔案公網URL>

API 介面

文件解析 API 服務為非同步介面,需要先呼叫提交請求介面獲取 task_id,然後呼叫獲取結果介面進行結果輪詢。

提交請求介面

  • HTTP 方法:POST
  • 請求 URLhttps://aip.baidubce.com/rest/2.0/brain/online/v2/parser/task?access_token={token}
  • Content-Typeapplication/x-www-form-urlencoded

獲取結果介面

  • HTTP 方法:POST
  • 請求 URLhttps://aip.baidubce.com/rest/2.0/brain/online/v2/parser/task/query?access_token={token}
  • Content-Typeapplication/x-www-form-urlencoded
  • 請求引數task_id(必填,提交請求時返回的 task_id)

請求引數

檔案引數(必選,二選一)

引數 必選 型別 說明
file_data 和 file_url 二選一 string 檔案 Base64 編碼資料。版式文件:pdf, jpg, jpeg, png, bmp, tif, tiff, ofd, ppt, pptx;流式文件:doc, docx, txt, xls, xlsx, wps, html, mhtml。文件大小不超過 50M,PDF 最大支援 2000 頁。若文件大小超過 50M,須從 file_url 方式上傳。優先順序:file_data > file_url
file_url 和 file_data 二選一 string 檔案資料 URL,長度不超過 1024 位元組,支援單個 URL 傳入。PDF 文件大小不超過 300MB,非 PDF 不超過 50M,PDF 最大支援 2000 頁。請注意關閉 URL 防盜鏈
file_name string 檔名,請保證檔名字尾正確,例如 "1.pdf"

核心功能引數

引數 必選 型別 可選值範圍 說明
recognize_formula bool True/False 是否對版式型別文件進行公式識別
analysis_chart bool True/False 是否對統計圖表進行解析
angle_adjust bool True/False 是否對圖片進行角度矯正
parse_image_layout bool True/False 是否返回文件中的圖片位置資訊

語言與格式引數

引數 必選 型別 說明
language_type string 識別語種類型,預設為 CHN_ENG(中英文)
switch_digital_width string 是否對數字進行全半形轉換,預設為 auto。可選:auto(不轉換)、half(半形輸出)、full(全形輸出)
html_table_format bool 是否將識別出的表格轉換為 HTML 格式返回,default=True

文件分塊引數

return_doc_chunks 為字典型別,用於返回文件切分後的片段資料(按語義、字數、標點):

引數 必選 型別 預設值 說明
switch bool False 是否進行文件內容切分
split_type str chunk 切分方式:chunk(按 chunk_size 來切)/ mark(按 separators 來切)
separators list ['。',';','!','?',';','!','?'] 切分標點
chunk_size int -1 切分塊的大小,-1 表示按照語義自動切分,不限定塊的大小

返回結構

提交請求返回

欄位 型別 說明
log_id uint64 唯一的 log id,用於問題定位
error_code int 錯誤碼
error_msg string 錯誤描述資訊
result.task_id string 該請求生成的 task_id,後續使用該 task_id 獲取審查結果

獲取結果返回

欄位 型別 說明
log_id uint64 唯一的 log id
error_code int 錯誤碼
error_msg string 錯誤描述資訊
result.task_id string 任務 ID
result.status string 任務狀態:pending(排隊中)、processing(執行中)、success(成功)、failed(失敗)
result.task_error string 解析報錯資訊,包含任務失敗、額度不夠
result.markdown_url string 文件解析結果的 Markdown 格式連結,連結有效期 30 天
result.parse_result_url string 文件解析結果的 BOS 連結(JSON),連結有效期 30 天

解析結果 JSON 結構(parse_result_url)

頂層結構

欄位 型別 說明
file_name string 文件名稱
file_id string 文件 ID
pages list 檔案單頁解析內容
chunks list 檔案內容切分結果(return_doc_chunks.switch=True 時有值)

頁面物件(pages[])

欄位 型別 說明
page_id string 頁碼 ID
page_num int 頁碼數
text string 當前頁的所有純文字內容
layouts list 頁面內容版式分析的結果
tables list 頁面表格解析結果
images list 頁面中圖片解析結果
meta dict 頁元資訊

頁面元資訊(meta)

欄位 型別 說明
page_width int 頁面寬度
page_height int 頁面高度
is_scan bool 是否掃描件
page_angle int 頁面傾斜角度
page_type string 頁面屬性:text(正文)、contents(目錄)、appendix(附錄)、others(其他)
sheet_name string Excel 的 sheet 名

版面元素(layouts[])

欄位 型別 說明
layout_id string layout 元素唯一標誌,格式 "xxxxx-layout-{global_layout_index}"
text string layout 對應的文本內容。注:當 type 為 table/image 時該欄位為空,需根據 type 和 layout_id 分別到 tables/images 欄位裡找到對應內容
position list 元素在頁面中的位置 [x, y, w, h],左上角和寬高
type string 版面元素型別(見下表)
sub_type string 版面元素子型別(見下表)
parent string 標題層級樹中父節點的 layout_id,若為一級標題則 parent 為 "root"
children list 標題層級樹中子節點的 layout_id 列表

版面型別(type)

型別 說明
para 段落
table 表格
image 文件中的插圖
head_tail 頁面頂部(頁首/頁尾)
contents 目錄
seal 印章
title 標題
formula 公式

子型別(sub_type)

  • title 類title_{n}(n 級標題,如 title_2 代表二級標題)、image_title(圖示題)、table_title(表標題)
  • image 類chart(統計圖表)、figure(普通插圖)、QR_code(二維碼)、Bar_code(條形碼)

表格物件(tables[])

欄位 型別 說明
layout_id string 與 layouts 中 type 為 table 的元素的 layout ID 對應
markdown string 表格內容的 Markdown 形式
table_title_id list 表格標題對應的 layout_id,預設為 null
position list 邊框資料 [x, y, w, h](以頁面座標為原點),版式格式時有效
cells list 單元格的內版面資訊,layout 型別為表格時有值
matrix list 二位陣列,表示表格內佈局位置資訊,每個元素對應 cells 列表中元素的索引
merge_table string 跨頁表格標記:begin(開始)、inner(中間,超過兩頁)、end(結束);非跨頁表格該欄位為空

圖片物件(images[])

欄位 型別 說明
layout_id string 與 layouts 中 type 為 image 的元素的 layout ID 對應
image_title_id list 圖片標題對應的 layout_id,預設為 null
position list 邊框資料 [x, y, w, h]
content_layouts list 圖片的內版面資訊
data_url string 圖片儲存連結
image_description string 對統計圖表進行內容解析和描述,輸出結果為 JSON 字串

分塊物件(chunks[])

欄位 型別 說明
chunk_id string 切片的 ID
content string 切片的內容
type string 切片型別:text 或 table
meta.title list chunk 所屬的多級標題內容
meta.position list chunk 的位置,根據分塊演算法有可能 chunk 跨多個頁
meta.box list chunk 的位置座標
meta.page_num int chunk 內容所在頁數

API 特性

非同步處理流程

  1. 呼叫提交請求介面 → 獲取 task_id
  2. 通過 task_id 呼叫獲取結果介面輪詢

輪詢建議

  • 提交請求後 5~10 秒開始輪詢
  • 輪詢間隔:5 秒
  • 最大輪詢時間:300 秒

QPS 限制

  • 提交請求介面:2 QPS
  • 獲取結果介面:10 QPS

檔案限制

限制項 說明
檔案大小(file_data) ≤ 50MB,超過 50M 須使用 file_url
檔案大小(file_url) PDF ≤ 300MB,非 PDF ≤ 50MB
URL 長度 ≤ 1024 位元組
頁數限制 PDF ≤ 2000 頁
優先順序 file_data > file_url(同時存在時 file_url 欄位失效)

錯誤處理

常見錯誤碼:

錯誤碼 說明 解決方案
110/111 access_token 無效或過期 重新獲取 access_token
216200 檔案或 URL 為空 提供 file_data 或 file_url
216201 檔案格式錯誤 檢查檔案格式是否支援
216202 檔案大小超限 縮減檔案大小
282000 內部錯誤 重試或聯絡技術支援
282003 缺少必要引數 檢查必填引數
282007 任務不存在 檢查 task_id 是否正確
282018 服務繁忙 降低請求頻率

完整錯誤碼參見 references/error_codes.md

線上除錯

可在 示例程式碼中心 申請試該介面,可進行簽名驗證、檢視線上呼叫的請求內容和返回結果、示例程式碼的自動生成。

指令碼

這個技能的最新版本可以在7w4.net小蔥技能站找到。

  • scripts/baidu_doc_parser.py:文件解析主程式,支援命令列快速呼叫

參考文件

  • references/parameters.md:完整 API 引數與返回結構詳解
  • references/error_codes.md:完整錯誤碼參考
  • references/apikey-fetch.md:API Key 配置指南

相關連結

🤖 AI 評測

這個Skill質量不錯,文件寫得很詳細,功能覆蓋全面。支援解析PDF、Word、圖片等多種格式,還能提取表格和文字,中英文都識別準確。配置方法清晰,提供了Python指令碼可以直接使用。不過對於普通使用者來說,缺少具體的使用示例和實際效果展示,剛接觸時可能需要花些時間理解具體怎麼用。

📊 多維度評分

適應性4.4
規範性4.5
有效性4.4
可靠性4.7
可信度5

📁 包含檔案 (6 個)

📄 SKILL.md 13.5 KB
📄 _meta.json 144 B
📄 references/apikey-fetch.md 2.4 KB
📄 references/error_codes.md 4.5 KB
📄 references/parameters.md 10.5 KB
📄 scripts/baidu_doc_parser.py 10.8 KB