比較文件 .net – 完整的 GroupDocs.Comparison 教學指南(適用於 .NET 開發人員)

如果您需要以程式方式 compare documents .net,您已來到正確的指南。
手動找出合約、試算表或簡報兩個版本之間的差異可能耗費數小時,且仍可能遺漏細微變更。使用 GroupDocs.Comparison for .NET,您可以自動化此工作,產生視覺化差異報告,甚至在不開啟檔案的情況下接受或拒絕變更。本教學將逐步說明所有步驟——從安裝 NuGet 套件到處理大規模資料夾比較——讓您能在任何 .NET 解決方案中嵌入可靠的文件比較功能。

快速解答

  • GroupDocs.Comparison 的主要目的為何? 以程式方式比較文件、偵測變更,並產生視覺或資料驅動的差異結果。
  • 我可以自動接受或拒絕變更嗎? 是的——使用 accept/reject API 以取得細粒度控制。
  • 此函式庫支援 .NET 中的影像比較嗎? 當然可以;您可以比較螢幕截圖、UI 渲染圖以及任何點陣圖。
  • 資料夾比較可行嗎? 可以——比較整個資料夾即可找出新增、移除或修改的檔案。
  • 開始前需要什麼? .NET 開發環境、NuGet 套件,以及有效的 GroupDocs.Comparison 授權(提供試用版)。

什麼是 compare documents .net?

compare documents .net 是使用 .NET 函式庫以程式方式辨識兩個或多個文件版本之間差異的過程。GroupDocs.Comparison 透過載入來源與目標檔案、套用可設定的比較選項,並回傳包含視覺標示與結構化變更清單的 ComparisonResultComparisonResult 代表比較的結果,包含偵測到的變更與視覺差異資料。

為何選擇 GroupDocs.Comparison for .NET?

GroupDocs.Comparison 支援超過 50 種格式,能在數秒內處理大型 PDF,並提供企業級功能,如密碼處理、metadata 保留與細緻的變更管理,省去多套專門函式庫的需求,降低開發工作量。

先決條件

  • Visual Studio 2022 或更新版本(或任何相容 .NET 的 IDE)。
  • .NET 6+ 執行環境(此函式庫亦支援 .NET Core 3.1 與 .NET Framework 4.8)。
  • NuGet 套件 GroupDocs.Comparison(最新穩定版)。
  • 有效的授權金鑰(您可先使用 30 天試用版)。

如何比較兩個文件 .net?

要比較兩個文件 .net,只需建立 Comparer 類別實例,呼叫 Compare(sourcePath, targetPath, outputPath),並依需求指定 ComparisonOptions。此方法會產生一個差異檔,突顯插入、刪除與格式變更,同時提供 Changes 集合供程式檢查。Comparer 物件是驅動比較流程的核心引擎。

逐步操作說明

  1. 建立 Comparer 實例 – 這是驅動比較引擎的核心物件。
  2. 載入來源與目標 – 您可以傳入檔案路徑、串流或位元組陣列;對於大於 10 MB 的檔案建議使用串流。
  3. 設定選項 – 透過 ComparisonOptions 忽略大小寫、設定密碼或調整靈敏度。
  4. 執行比較 – 呼叫 Compare 並提供視覺差異的輸出位置。
  5. 處理結果 – 讀取 Changes 集合以接受、拒絕或記錄每項修改。

GroupDocs.Comparison 支援哪些格式比較?

GroupDocs.Comparison 支援 50+ 輸入與輸出格式,包括 DOCX、PDF、XLSX、PPTX、PNG、JPEG、BMP 與 TIFF。亦能處理受密碼保護的檔案以及透過串流 API 存於雲端的檔案。此廣度免除在建置通用文件處理管線時必須使用多套函式庫的需求。

如何以程式方式接受或拒絕變更?

ComparisonResult 物件會公開 Changes 集合。每個 ChangeInfo 代表單一偵測到的變更,並提供 Accept()Reject() 方法。呼叫 result.Changes.AcceptAll() 可將所有偵測到的變更套用至目標文件,或遍歷 result.Changes 並對個別 ChangeInfo 呼叫 Accept()Reject() 以取得細粒度控制。完成所需操作後,使用 result.Save(outputPath) 儲存更新後的文件。

如何比較整個資料夾 .net?

資料夾比較會遍歷相符的檔案對,對每對檔案呼叫相同的 Compare 邏輯。GroupDocs.Comparison 亦提供輔助方法 CompareFolders(sourceFolder, targetFolder, outputFolder),比較兩個目錄中的所有相符檔案,偵測新增或移除的檔案,並產生差異結果。CompareFolders 會回傳 FolderComparisonResult 物件集合,每個物件指示檔案對的狀態與其差異文件的連結。

在 .NET 中,影像比較如何運作?

影像模組將每個像素視為資料點,產生一張差異影像,以紅色標示變更區域,並回傳相似度分數(0‑100 %)。呼叫 Comparer.CompareImages(imagePath1, imagePath2, outputPath);引擎會對齊兩張影像,計算每像素差異,寫入以變更像素著色的差異影像,並提供 Similarity 數值,您可依此決定是否觸發警示或略過後續處理。

常見使用情境

  • 非程式碼資產的版本控制 – 保持合約修訂的清晰稽核軌跡。
  • 自動合規檢查 – 標示政策文件中未授權的編輯。
  • CI/CD 流程的 UI 測試 – 比較不同建置之網頁截圖。
  • 批次遷移專案 – 驗證轉換後的檔案仍保留原始內容。

大型文件的效能建議

  • 串流檔案 而非完整載入記憶體;可將峰值 RAM 使用量降低至 80 %。
  • 重複使用單一 Comparer 實例 進行多次比較,以利用內部快取。
  • 調整 ComparisonOptions.MemoryLimit,在處理大於 500 MB 的文件時防止記憶體不足例外。

常見問與答

Q: 如何在比較後以程式方式接受或拒絕變更?
A: 使用 result.Changes.AcceptAll()RejectAll(),或遍歷每個 ChangeInfo 呼叫 Accept() / Reject(),完成後以 result.Save(outputPath) 儲存文件。

Q: 我可以從文件中擷取作者、建立日期或自訂屬性等 metadata 嗎?
A: 可以——DocumentInfo 提供來源與目標檔案的標準與自訂 metadata 存取,讓您可以記錄或顯示這些資訊。

Q: 是否可以直接在 .NET 中比較影像檔(例如 PNG、JPEG)?
A: 當然可以。CompareImages API 會突顯像素層級的差異,並回傳相似度百分比,您可於自動化測試中使用。

Q: 如何比較整個資料夾以找出新增、移除或修改的檔案?
A: 呼叫 Comparer.CompareFolders(sourceFolder, targetFolder, outputFolder);此方法會回傳 FolderComparisonResult 物件集合,指示每對檔案的狀態。

Q: 若需比較受密碼保護的文件,我該怎麼做?
A: 在載入每個文件時透過 LoadOptions.Password 提供密碼;引擎會在內部解密後執行差異比較。

Q: GroupDocs.Comparison 是否支援 .NET Core 與 .NET 5/6?
A: 支援——此函式庫相容於 .NET Core 3.1、.NET 5、.NET 6 以及更高版本,於所有執行環境提供相同功能集。

可信資訊

Last Updated: 2026-05-26
Tested With: GroupDocs.Comparison 23.12 for .NET
Author: GroupDocs

其他教學連結(未變更)

文件與資料夾比較

閱讀更多

文件比較

閱讀更多

載入與儲存文件

閱讀更多

影像比較

閱讀更多

基本使用

閱讀更多

快速入門

閱讀更多

入門指南

入門指南

文件載入

文件載入

基本比較

基本比較

進階比較

進階比較

變更管理

變更管理

文件資訊

文件資訊

預覽產生

預覽產生

Metadata 管理

Metadata 管理

安全與保護

安全與保護

授權與設定

授權與設定

比較選項

比較選項

閱讀更多 閱讀更多 閱讀更多 閱讀更多 閱讀更多 閱讀更多 入門指南 文件載入 基本比較 進階比較 變更管理 文件資訊 預覽產生 Metadata 管理 安全與保護 授權與設定 比較選項 快速入門 入門指南 文件與資料夾比較 文件比較 載入與儲存文件 影像比較 基本使用 快速入門 入門指南 文件載入 基本比較 進階比較 變更管理 文件資訊 預覽產生 Metadata 管理 安全與保護 授權與設定 比較選項

相關教學