您可以讓 AI 代理查看文件頁面,而不是閱讀其文字轉儲。GroupDocs.Viewer.Mcp 伺服器會將 PDF、Word、Excel 或 PowerPoint 檔案的任何頁面渲染為 PNG,並返回給代理,且此過程在您的機器本地執行:

report.pdf 有多少頁?然後顯示最後一頁。

包含設定與故障排除的逐步說明位於文件中:如何讓 AI 代理查看文件頁面.

為什麼文字提取在真實文件上會失敗?

文字提取器會以閱讀順序返回字符。它不會返回兩段落之間的條形圖、角落的「APPROVED」印章、價格表的欄位佈局,或是掃描頁面(完全沒有字符)。從這些輸出工作的代理會自信地回答它只看到一半的文件,而缺失的那一半通常正是您所詢問的部分。

解決方案不是更好的提示,而是不同的輸入:將頁面作為圖像,提供給接受圖像輸入的模型。

錯誤做法:將所有內容通過文字提取器

常見的預設做法是將文件轉換為文字,將文字貼入上下文視窗並提出問題。這對散文有效。但在四個方面會失效,您可以在任何自己的文件上驗證:

  • 版面佈局消失,無法回答「總計是否在右側欄位?」
  • 圖表和圖示內的圖形消失,因為它們是繪製的,而非文字輸入。
  • 印章、簽名與手寫文字消失。
  • 掃描的 PDF 不會產生文字。

模型無法修復在看到文件之前就已遺失的資訊。

正確做法:將 PDF 頁面渲染為圖像供 LLM 使用

render_page 會將單一頁面渲染為 PNG,將圖像內嵌返回給代理,並以 <name>_page<N>.png 的形式保存到您的輸出資料夾。伺服器支援超過 170 種格式,包括 PDF、DOCX、XLSX、PPTX、ODT、RTF、HTML、EML 與 MSG。具備視覺能力的模型即可如您般看到該頁面。

代理不應自行猜測頁碼,因此它會將 render_page 與 get_view_info 結合,後者會返回檔案類型、頁數以及每頁尺寸,且不會渲染任何內容。第三個工具 get_license_status 會回報目前的授權模式。

如何為 Claude、Cursor 或 Copilot 執行伺服器?

Docker 映像檔是自包含的:

docker run --rm -i -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-viewer/viewer-net-mcp:latest

在安裝 .NET 10 SDK 後,dnx GroupDocs.Viewer.Mcp --yes 可在不使用 Docker 的情況下執行相同的伺服器。將其註冊於 Claude Desktop、Claude Code、Cursor、搭配 GitHub Copilot 的 VS Code、Windsurf 以及其他客戶端;中心頁面列出了每個客戶端的精確設定。客戶端會將伺服器作為子行程啟動,並透過標準輸入與輸出與之通訊,因而不需要開放入口埠或保護端點。

範例對話

這是一個根據兩個工具的文件行為所構建的示意,並非擷取的螢幕截圖。

您:   report.pdf 有多少頁?然後顯示最後一頁。

代理: [呼叫 get_view_info 於 report.pdf]
       report.pdf 是一個有 2 頁的 PDF,兩頁皆為 612 x 792 點(美國信紙)。
       [呼叫 render_page,頁碼 = 2]
       已將 'report.pdf' 的第 2 頁儲存至:<output folder>/report_page2.png
       以下是第 2 頁的內容: ...

圖像會在支援顯示的客戶端內嵌顯示。文字回覆則是代理對該頁面所見的描述。

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

代理決定哪一頁能回答問題,以及向模型詢問什麼內容。引擎負責必須精確的部分:開啟檔案、依文件的分頁方式進行分頁,並產生 PNG。模型不需要猜測頁面佈局,因為它直接收到已渲染的頁面。

誠實的限制

  • 評估模式。 若未取得授權,渲染的頁面會帶有評估水印,且伺服器程序最多只能開啟 15 份文件。水印可能遮蓋您詢問的細節。請向代理詢問「viewer 伺服器是否已授權?」以便在依賴其讀取結果前呼叫 get_license_status。
  • 僅 PNG。 輸出為 PNG 圖像,沒有其他格式選項。
  • 未檢查頁碼。 render_page 不會拒絕超過最後一頁的頁碼。請先使用 get_view_info 檢查頁數。
  • 模型必須接受圖像。 若模型僅支援文字,代理仍會取得已保存的檔案路徑,但無法告訴您頁面內容。
  • 圖像檔案較大。 每頁都是內嵌的 PNG,通常數百 KB。僅渲染任務所需的頁面,而非整個檔案。
  • 有一項資料會離開機器。 渲染的圖像會傳送給代理,進而傳給其使用的模型。若使用本機託管的模型,則所有資料皆留在機器內。

常見問答

Claude 能看到我的 PDF 頁面及其版面嗎? 可以,只要將 PDF 頁面渲染為圖像且所使用的 Claude 模型接受圖像輸入。render_page 會在本機產生該圖像並返回給客戶端。

我需要將文件上傳到任何地方才能渲染嗎? 伺服器會從您掛載的資料夾讀取檔案,並將圖像寫在同一目錄下;文件不會被伺服器上傳。頁面圖像會傳送至您的代理模型。

它是否同樣支援 Excel 與 PowerPoint,而不僅限於 PDF? 可以。PowerPoint 會為每張投影片渲染一張圖像,Excel 工作表則會分割成多頁,頁數可透過 get_view_info 取得。

深入了解