博客 / 詳情

返回

使用 C# 實現 PDF 文檔對比

在日常開發或辦公場景中,PDF 文檔對比是高頻需求(如合同版本迭代校驗、技術文檔審核、報表一致性驗證等)。市面上雖有 Adobe Acrobat 等可視化對比工具,但通過編程實現 PDF 對比可滿足自動化、定製化的業務需求。本文將介紹如何使用免費庫 Free Spire.PDF for .NET 對比兩個 PDF 文檔。

一、核心組件:PdfComparer

PdfComparer 是 Free Spire.PDF for .NET 提供的高階封裝類,專為 PDF 文檔對比設計:它會自動分析兩個 PDF 的內容差異(文本增刪、修改等),並將對比結果輸出為新的PDF文檔。

比較結果的呈現方式

生成的比較結果文檔採用直觀的視覺標註:

  • PDF 完全一致:無高亮標記,僅展示原文檔內容
  • 新增內容:通常以黃色高亮顯示
  • 刪除內容:通常以紅色高亮標記

二、安裝 Free Spire.PDF

推薦通過 NuGet 包管理器安裝,步驟如下:

  1. 打開項目,右鍵點擊“管理NuGet程序包”;
  2. 搜索“FreeSpire.PDF”,選擇最新穩定版安裝;
    或通過NuGet命令行安裝:
Install-Package FreeSpire.PDF

三、如何通過 C# 對比兩個 PDF 文檔

核心思路:

Free Spire.PDF 的對比邏輯極簡,無需手動處理頁面、文本提取,核心步驟僅4步:

  1. 實例化 PdfDocument 對象,分別加載兩個待對比的 PDF 文件;
  2. 實例化 PdfComparer 對象,傳入兩個已加載的 PDF 文檔;
  3. 調用 PdfComparer.Compare() 方法,指定對比結果PDF的保存路徑;
  4. 釋放PDF文檔資源,避免內存泄漏。

重要説明:免費版本在處理 PDF 時有一定頁數限制,但對於大多數基本比較需求已經足夠。

完整代碼:

以下幾行簡單代碼實現了對比兩個 PDF 文檔的文本內容:

using Spire.Pdf;
using Spire.Pdf.Comparison;

namespace ComparePDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加載兩個待對比的 PDF 文檔
            PdfDocument pdf1 = new PdfDocument();
            pdf1.LoadFromFile("Sample1.pdf");

            PdfDocument pdf2 = new PdfDocument();
            pdf2.LoadFromFile("Sample2.pdf");

            // 實例化PdfComparer,傳入兩個文檔 
            PdfComparer comparer = new PdfComparer(pdf1, pdf2);

            // 執行對比並保存結果PDF
            comparer.Compare("ComparingResult.pdf");
            pdf1.Close();
            pdf2.Close();
        }
    }
}

基於 PdfComparer 類的 C# PDF 對比方案十分簡單高效,無需手動處理底層對比邏輯,且能直接生成帶差異標記的 PDF 結果文檔,比純文本差異日誌更易閲讀。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.