在 .NET 中對 PDF 文件進行分類對於自動化文檔工作流、提取洞見以及在無需人工審核的情況下路由內容至關重要。GroupDocs.Classification Cloud SDK for .NET 提供了強大的 API,使 PDF 分類變得簡單且可擴展。在本教程中,您將學習完整的 PDF 分類工作流程,從項目設置和分類法配置到批量處理、掃描 PDF 的 OCR 處理以及性能調優,並附有可直接運行的代碼示例。
在 .NET 中對 PDF 文件進行分類的步驟
- 新增 NuGet 套件 - 執行
dotnet add package GroupDocs.Classification-Cloud以將庫加入您的專案。 - 建立並設定 API 用戶端 - 使用您的 client ID 和 secret 初始化
ClassificationApi。 - 上傳 PDF - 使用
UploadFile端點將文件傳送至雲端儲存。 - 定義分類法 - 提供一個 JSON 檔案,用於將類別映射到關鍵字;此檔案指導分類引擎。
- 呼叫分類方法 - 呼叫
ClassifyDocument,傳入檔案 ID、分類法以及可選的信心門檻。 - 處理結果 - 迭代
ClassificationResult物件,檢查Confidence屬性以過濾低信心標籤。
如需了解請求物件的更多細節,請參閱 API 參考。
在 .NET 中高效分類 PDF 文件 - 完整代碼示例
以下示例演示了對單個 PDF 文件的完整端到端分類,包括錯誤處理和結果處理。
注意: 此代碼示例演示了核心功能。在將其用於您的項目之前,請確保更新文件路徑(
sample.pdf、taxonomy.json),將佔位符憑證替換為實際的YOUR_CLIENT_ID和YOUR_CLIENT_SECRET,並在開發環境中徹底測試。如果遇到任何問題,請參閱官方文檔或聯繫支持團隊尋求幫助。
使用 cURL 的 REST API 進行 PDF 分類
SDK 透過 REST API 運作,因此您也可以直接使用 cURL 呼叫它。以下是典型步驟。
- 獲取訪問令牌
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"}'
- 上傳 PDF 檔案
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.pdf"
- 分類文件
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
}'
- 下載結果(如有需要) - API 直接返回 JSON;您可以將其管道輸出到文件。
欲了解更多細節,請參閱官方 API 文檔。
在 .NET 中的安裝與設定
- 安裝 NuGet 套件
dotnet add package GroupDocs.Classification-Cloud - 下載最新的二進位檔(可選)從發行頁面。
- 新增臨時授權(僅限開發)方法是複製授權檔案並如程式碼範例所示初始化
Configuration物件。 - 驗證連線 - 執行簡單的
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 整合
掃描的文件包含圖像而非可選取的文字。要對它們進行分類:
- 將請求中的
ocr標誌設置為true。 - 可選地指定
ocrLanguage(例如,英文使用"en")。 - 服務在應用分類規則之前會在內部執行 OCR。
此兩步驟流程確保僅含圖像的 PDF 在分類時被視為與原生 PDF 相同。
疑難排解常見分類錯誤
- 401 Unauthorized - 驗證
ClientId和ClientSecret是否正確,且令牌請求已成功。 - 400 Bad Request (Invalid Taxonomy) - 確保分類法 JSON 格式正確;缺少括號會導致此錯誤。
- 404 Not Found (File ID) - 確認檔案已成功上傳,且
fileId與儲存路徑相符。 - Low confidence scores - 檢查您的分類法關鍵字;加入更具代表性的詞彙或擴增訓練集。
如需完整的錯誤代碼列表,請參閱 API 參考。
PDF 分類在 .NET 中的最佳實踐
- 保持分類法小且專注 - 過多重疊的關鍵字會降低準確度。
- 使用版本化的分類法檔案 - 將它們存放在原始碼管理中以追蹤變更。
- 設定適當的信心門檻 - 從
0.6開始,並根據驗證結果進行調整。 - 監控作業狀態 - 記錄請求 ID 與回應時間以進行效能分析。
- 保護憑證 - 將
ClientId與ClientSecret存放於環境變數或 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。
