在 .NET 中對 PDF 文件進行分類對於自動化文檔工作流、提取洞見以及在無需人工審核的情況下路由內容至關重要。GroupDocs.Classification Cloud SDK for .NET 提供了強大的 API,使 PDF 分類變得簡單且可擴展。在本教程中,您將學習完整的 PDF 分類工作流程,從項目設置和分類法配置到批量處理、掃描 PDF 的 OCR 處理以及性能調優,並附有可直接運行的代碼示例。

在 .NET 中對 PDF 文件進行分類的步驟

  1. 新增 NuGet 套件 - 執行 dotnet add package GroupDocs.Classification-Cloud 以將庫加入您的專案。
  2. 建立並設定 API 用戶端 - 使用您的 client ID 和 secret 初始化 ClassificationApi
  3. 上傳 PDF - 使用 UploadFile 端點將文件傳送至雲端儲存。
  4. 定義分類法 - 提供一個 JSON 檔案,用於將類別映射到關鍵字;此檔案指導分類引擎。
  5. 呼叫分類方法 - 呼叫 ClassifyDocument,傳入檔案 ID、分類法以及可選的信心門檻。
  6. 處理結果 - 迭代 ClassificationResult 物件,檢查 Confidence 屬性以過濾低信心標籤。

如需了解請求物件的更多細節,請參閱 API 參考

在 .NET 中高效分類 PDF 文件 - 完整代碼示例

以下示例演示了對單個 PDF 文件的完整端到端分類,包括錯誤處理和結果處理。

注意: 此代碼示例演示了核心功能。在將其用於您的項目之前,請確保更新文件路徑(sample.pdftaxonomy.json),將佔位符憑證替換為實際的 YOUR_CLIENT_IDYOUR_CLIENT_SECRET,並在開發環境中徹底測試。如果遇到任何問題,請參閱官方文檔或聯繫支持團隊尋求幫助。

使用 cURL 的 REST API 進行 PDF 分類

SDK 透過 REST API 運作,因此您也可以直接使用 cURL 呼叫它。以下是典型步驟。

  1. 獲取訪問令牌
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth2/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET","grant_type":"client_credentials"}'
  1. 上傳 PDF 檔案
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -F "file=@sample.pdf"
  1. 分類文件
curl -X POST "https://api.groupdocs.cloud/v1.0/classification/classify" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileId": "sample.pdf",
           "taxonomy": "{\"categories\":[{\"name\":\"Invoice\",\"keywords\":[\"amount\",\"total\",\"invoice\"]}]}",
           "confidenceThreshold": 0.6
         }'
  1. 下載結果(如有需要) - API 直接返回 JSON;您可以將其管道輸出到文件。

欲了解更多細節,請參閱官方 API 文檔

在 .NET 中的安裝與設定

  1. 安裝 NuGet 套件
    dotnet add package GroupDocs.Classification-Cloud
    
  2. 下載最新的二進位檔(可選)從發行頁面
  3. 新增臨時授權(僅限開發)方法是複製授權檔案並如程式碼範例所示初始化 Configuration 物件。
  4. 驗證連線 - 執行簡單的 GetSupportedFileTypes 呼叫,以確保客戶端能連接服務。

在 .NET 中使用 GroupDocs.Classification Cloud SDK 進行 PDF 分類

該 SDK 抽象化了 HTTP 處理、序列化和錯誤映射,使您能專注於業務邏輯。它支援:

  • 多語言 - API 是語言無關的;.NET 客戶端遵循相同的合約。
  • 基於分類法的分類 - 您只需定義一次類別,便可在多個專案中重複使用。
  • 置信度評分 - 每個標籤都包含置信度值,從而實現基於閾值的過濾。

了解這些功能有助於您設計一個強大的 PDF 分類工作流程。

GroupDocs.Classification Cloud SDK 功能要點對此任務的重要性

  • Batch processing - 在單個請求中對數千個 PDF 進行分類。
  • OCR integration - 在分類之前自動從掃描的 PDF 中提取文字。
  • Custom taxonomy support - 上傳 JSON 或 XML 分類法以匹配您的領域。
  • Detailed logging - 獲取請求 ID 以便故障排除和審計追蹤。

配置分類分類法與置信度閾值

建立一個 taxonomy.json 檔案,用於描述您的類別:

{
  "categories": [
    {
      "name": "Invoice",
      "keywords": ["invoice", "amount", "total", "due"]
    },
    {
      "name": "Resume",
      "keywords": ["experience", "education", "skills", "profile"]
    }
  ]
}

在建立 ClassifyDocumentRequest 時,設定 ConfidenceThreshold 屬性(例如 0.6),以過濾不確定的預測。根據您的領域對偽陽性的容忍度調整此值。

優化大型 PDF 批次的效能

  • 分批處理 - 將大型集合分割為 100‑200 個檔案的群組,以避免逾時。
  • 啟用非同步處理 - 使用 SubmitJob 端點並輪詢 GetJobStatus 以釋放執行緒。
  • 重複使用相同的分類法 - 僅載入一次分類法,並在所有請求中重複使用相同的 JSON 字串。
  • 平行上傳 - 使用 Task.WhenAll 同時上傳檔案,以減少網路延遲。
情境建議方法
< 100 PDFs同步單一請求
100‑1,000 PDFs分塊同步批次
> 1,000 PDFs非同步作業提交 + 輪詢

處理掃描的 PDF 和 OCR 整合

掃描的文件包含圖像而非可選取的文字。要對它們進行分類:

  1. 將請求中的 ocr 標誌設置為 true
  2. 可選地指定 ocrLanguage(例如,英文使用 "en")。
  3. 服務在應用分類規則之前會在內部執行 OCR。

此兩步驟流程確保僅含圖像的 PDF 在分類時被視為與原生 PDF 相同。

疑難排解常見分類錯誤

  • 401 Unauthorized - 驗證 ClientIdClientSecret 是否正確,且令牌請求已成功。
  • 400 Bad Request (Invalid Taxonomy) - 確保分類法 JSON 格式正確;缺少括號會導致此錯誤。
  • 404 Not Found (File ID) - 確認檔案已成功上傳,且 fileId 與儲存路徑相符。
  • Low confidence scores - 檢查您的分類法關鍵字;加入更具代表性的詞彙或擴增訓練集。

如需完整的錯誤代碼列表,請參閱 API 參考

PDF 分類在 .NET 中的最佳實踐

  • 保持分類法小且專注 - 過多重疊的關鍵字會降低準確度。
  • 使用版本化的分類法檔案 - 將它們存放在原始碼管理中以追蹤變更。
  • 設定適當的信心門檻 - 從 0.6 開始,並根據驗證結果進行調整。
  • 監控作業狀態 - 記錄請求 ID 與回應時間以進行效能分析。
  • 保護憑證 - 將 ClientIdClientSecret 存放於環境變數或 Azure Key Vault 中。

結論

在 .NET 中對 PDF 文件進行分類變得簡單,使用 GroupDocs.Classification Cloud SDK for .NET。按照上述步驟設置 SDK、定義清晰的分類結構、處理掃描 PDF 的 OCR,並優化批量性能,您可以為任何文檔密集型應用構建可靠且可擴展的分類服務。請記得獲取適用於生產環境的正式授權;您可以從 臨時授權頁面 獲得臨時授權,然後根據需求增長升級為完整訂閱。

常見問題

問:如何在 .NET 中以高信心對 PDF 文件進行分類?
答:在請求中設定 ConfidenceThreshold 以過濾低信心的結果。SDK 會為每個標籤返回信心分數,讓您僅保留高於所選水平的預測。詳情請參閱官方文件

Q: SDK 是否支援對掃描的 PDF 進行 OCR?
A: 是的。透過在分類請求中設定 ocr 標誌來啟用 OCR。服務會在套用分類法之前,從基於影像的 PDF 中提取文字,提升掃描文件的準確度。

Q: 處理數千個 PDF 的最佳方法是什麼?
A: 使用批次分類與非同步作業。將大型集合拆分為可管理的區塊,透過 SubmitJob 提交,並輪詢 GetJobStatus 直至完成。此方法可避免逾時並最大化吞吐量。

Q: 我可以從哪裡獲得開發用的臨時許可證?
A: 訪問臨時許可證頁面以生成 30 天的許可證金鑰。在進行 API 呼叫之前,將其應用於您的 Configuration

閱讀更多