要使用 AI 代理批量提取文件中的資料,請將結構寫入提示,將代理指向資料夾,並在最後要求提供例外清單。GroupDocs.Parser.Mcp 伺服器在 Docker 容器中本地執行讀取,因此每個檔案都會通過相同的提取工具,且不會有文件離開機器。LLM 決定工作順序;引擎負責讀取檔案。

對於我的文件資料夾中的每個 PDF:提取表格為 JSON,對 amount 欄位求和,並給我一個包含檔名、總計、頁數的表格。

包含設定與故障排除的逐步說明位於文件中: 一次性從文件資料夾提取資料.

為什麼手動提取會產生不一致的資料?

當人們一次只從文件中複製數值時,每個檔案的處理方式會略有不同:有人會包括稅金,有人則不會,還有人會跳過版面異常的檔案。這種不一致在比較總計之前是看不見的。工作流程透過明確規則並以相同方式套用於每個檔案來解決此問題。使用代理時,規則寫在同一個提示中,提取工具在第一個檔案和第二百個檔案上表現完全相同。

如何建立工作流程?

將資料夾掛載到容器內的 /data,設定 GROUPDOCS_MCP_STORAGE_PATH=/data,並給予代理以下步驟。

  1. 檢查授權。 提示:「執行 get_license_status 並告訴我模式。」 未授權的提取受到限制,對資料夾的部分讀取會產生悄然錯誤的資料集。
  2. 對資料夾進行分流。 提示:「對每個檔案,回報格式、頁數以及文字提取是否返回任何內容。」 get_document_info 提供類型、頁數與大小,而單頁的 extract_text 呼叫則顯示是否有文字存在。
  3. 修正結構。 提示:「對每個可讀取的檔案,將明細表提取為 JSON。欄位:item、quantity、amount。對 amount 欄位求和。」 這使用 extract_tables。
  4. 明確收集失敗。 提示:「列出所有失敗、受密碼保護或未返回表格的檔案,並說明原因。」 只報告成功的批次會隱藏例外情況。
  5. 寫入輸出。 提示:「將每個檔案寫入一行 CSV,放在輸出資料夾中。」

檔案在容器內以名稱解析,因此代理傳遞的是 invoice-014.pdf,而不是主機路徑。

代理決定什麼,引擎執行什麼?

步驟 代理決定 引擎執行
分流 要從哪些檔案提取 回報類型、頁數與大小;extract_text 顯示是否有文字存在
捕獲 每個檔案需要哪個工具 返回檔案中的文字或表格列
驗證 總計是否與文字相符 無;由代理比較
例外 哪些檔案列入清單 返回錯誤檔案的失敗訊息
輸出 CSV 的結構 無;由代理寫入

分工即是關鍵。捕獲數值屬於確定性的引擎工作;判斷與組合則屬於代理的職責。

範例會話(節錄):

You:    Check the license, triage the folder, then extract line items from every readable PDF and list the exceptions.
Agent:  [calls get_license_status, get_document_info x12, extract_text, extract_tables x10]
        License mode: evaluation. Results below are a smoke test.
        12 files: 10 with a text layer, 1 scan, 1 password-protected.
        Totals written for 10 files. Exceptions: scan-007.pdf (no text layer), hr-020.pdf (password required).

當檔案不符合條件時會發生什麼?

掃描檔沒有文字層,因此表格提取不會返回任何內容。可將其放置一旁,或在頁面包含追蹤號碼或訂單代碼時讓代理分支至 extract_barcodes。此備選清單同時充當檔案庫中哪些部分是掃描件的清點。受密碼保護的檔案會使其呼叫失敗,因此請代理報告並繼續;當您有密碼時,工具接受 password 參數。

如何讓大規模執行保持成本可負擔?

  • 依頁面限制,當資料位於已知位置時,例如每張發票的第一頁。
  • 大量避免使用 extract_images。 它會為每張圖片寫入一個檔案,包含插圖的報告資料夾會產生數百個檔案。
  • 留意計量使用量。 在計量授權下,每次呼叫都會依處理量計費,因此有針對性的掃描比全面掃描成本更低。

限制是什麼?

未取得授權時,提取功能受限;具體限制請參閱函式庫的 授權頁面。伺服器不具備 OCR 功能,無法捕獲掃描文字。它僅以 Docker 映像提供;沒有 dnx 指令。

如何註冊伺服器?

以下是針對 Cursor、Claude Desktop 或 Windsurf 的最小手動條目,使用 Parser 設定文件中的容器路徑:

{
  "mcpServers": {
    "groupdocs-parser": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
               "-v", "/path/to/documents:/data",
               "-e", "GROUPDOCS_MCP_STORAGE_PATH=/data",
               "ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
    }
  }
}

常見問題

我可以在不上傳的情況下使用 AI 處理發票資料夾嗎?
是的。容器會讀取掛載的資料夾,並透過 stdio 與您的客戶端通訊,因而發票保留在您的機器上。

如何在本機批次提取 PDF 文字?
請讓代理遍歷資料夾,對每個檔案呼叫 extract_text,對於長文件則逐頁處理,因為非常大的輸出會被標記截斷。

代理能自動化文件的資料輸入嗎?
它可以將提取的列組合成 CSV 或摘要表格。在將任何資料輸入其他系統之前,請先檢查例外清單。

深入了解