C#使用Spire.PDF for .NET轻松比较PDF文档

 更新时间:2025年11月06日 09:43:24   作者:2501_93070778  
PDF 已成为跨平台共享和保存文档的标准格式,在工作和日常生活中都扮演着重要角色,然而,创建高质量的 PDF 文档通常需要多次检查与修改,所以本文将演示如何在 C# 程序中使用 Spire.PDF for .NET 轻松比较 PDF 文档,需要的朋友可以参考下

PDF 已成为跨平台共享和保存文档的标准格式,在工作和日常生活中都扮演着重要角色。然而,创建高质量的 PDF 文档通常需要多次检查与修改。在这种情况下,高效比较 PDF 文件并找出差异 变得尤为重要——它能帮助文档编辑者快速识别不同版本之间的不一致,从而在文档编写与审阅过程中节省大量时间。

本文将演示如何在 C# 程序中使用 Spire.PDF for .NET 轻松比较 PDF 文档。

安装 Spire.PDF for .NET

首先,你需要将 Spire.PDF for .NET 安装包中包含的 DLL 文件添加为 .NET 项目的引用。
这些 DLL 文件可以通过以下两种方式获取:

PM> Install-Package Spire.PDF

在 C# 中比较两个 PDF 文档

借助 Spire.PDF for .NET,开发者可以创建一个 PdfComparer 类的实例,将两个 PdfDocument 对象作为参数传入,然后使用 PdfComparer.Compare(String fileName) 方法来比较这两个文档。比较结果将保存为一个新的 PDF 文件,方便进一步分析或审阅两份 PDF 之间的差异。

生成的对比结果 PDF 文件会在左侧和右侧分别显示两份原始文档,其中:

  • 被删除的内容以 红色 标注;
  • 新增的内容以 黄色 标注。

示例代码如下:

using Spire.Pdf;
using Spire.Pdf.Comparison;
 
namespace ExtractTablesToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 PdfDocument 类的对象并加载一个 PDF 文档
            PdfDocument pdf1 = new PdfDocument();
            pdf1.LoadFromFile("Sample1.pdf");
 
            //创建另一个 PdfDocument 类的对象并加载另一份 PDF 文档
            PdfDocument pdf2 = new PdfDocument();
            pdf2.LoadFromFile("Sample2.pdf");
 
            //使用这两个文档创建 PdfComparer 类的对象
            PdfComparer comparer = new PdfComparer(pdf1, pdf2);
            
            //比较两份文档并将比较结果保存为另一份 PDF 文件
            comparer.Compare("output/ComparingResult.pdf");
            pdf1.Close();
            pdf2.Close();
        }
    }
}

比较两个 PDF 文档的指定页范围

在创建 PdfComparer 类的实例后,开发者还可以使用 PdfComparer.Options.SetPageRange() 方法来设置要比较的页码范围。这样就可以只比较两个 PDF 文档中指定的页面范围,而不是整个文档。

示例代码如下:

using Spire.Pdf;
using Spire.Pdf.Comparison;
 
namespace ExtractTablesToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 PdfDocument 类的对象并加载一个 PDF 文档
            PdfDocument pdf1 = new PdfDocument();
            pdf1.LoadFromFile("Sample1.pdf");
 
            //创建另一个 PdfDocument 类的对象并加载另一份 PDF 文档
            PdfDocument pdf2 = new PdfDocument();
            pdf2.LoadFromFile("Sample2.pdf");
 
            //使用这两个文档创建 PdfComparer 类的对象
            PdfComparer comparer = new PdfComparer(pdf1, pdf2);
 
            //设置要比较的页码范围
            comparer.Options.SetPageRanges(1, 1, 1, 1);
            
            //比较指定页范围的内容,并将比较结果保存为另一份 PDF 文件
            comparer.Compare("output/PageRangeComparingResult.pdf");
            pdf1.Close();
            pdf2.Close();
        }
    }
}

申请临时许可证

如果你希望移除生成文档中的评估信息,或解除功能限制,请申请一个 30 天试用许可证

到此这篇关于C#使用Spire.PDF for .NET轻松比较PDF文档的文章就介绍到这了,更多相关C#比较PDF文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • WinForm中变Enter键为Tab键实现焦点转移的方法

    WinForm中变Enter键为Tab键实现焦点转移的方法

    这篇文章主要介绍了WinForm中变Enter键为Tab键实现焦点转移的方法,主要通过一个ControlTools类来实现该功能,需要的朋友可以参考下
    2014-08-08
  • C#画笔使用复合数组绘制单个矩形的方法

    C#画笔使用复合数组绘制单个矩形的方法

    这篇文章主要介绍了C#画笔使用复合数组绘制单个矩形的方法,涉及C#使用画笔绘制图形的相关技巧,需要的朋友可以参考下
    2015-06-06
  • C#通过Win32API设置客户端系统时间的方法详解

    C#通过Win32API设置客户端系统时间的方法详解

    在日常工作中,有时可能会需要获取或修改客户端电脑的系统时间,比如软件设置了Licence有效期,本文以一个简单的小例子,简述如何通过C#获取和设置客户端电脑的系统时间,仅供学习分享使用,如有不足之处,还请指正,需要的朋友可以参考下
    2024-06-06
  • 利用C#编写扫雷游戏(附源码)

    利用C#编写扫雷游戏(附源码)

    扫雷游戏相信不用给大家过多介绍,大家基本都玩过,下面这篇文章主要给大家介绍了关于如何利用C#编写扫雷游戏的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2019-01-01
  • 基于C#实现的屏幕指定区域截屏代码

    基于C#实现的屏幕指定区域截屏代码

    这篇文章主要介绍了C#实现的屏幕指定区域截屏代码,有需要的朋友可以参考一下
    2014-01-01
  • 深入线程安全容器的实现方法

    深入线程安全容器的实现方法

    本篇文章是对线程安全容器的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#实现获取磁盘空间大小的方法

    C#实现获取磁盘空间大小的方法

    这篇文章主要介绍了C#实现获取磁盘空间大小的方法,分别基于System.IO.DriveInfo.GetDrives方法与ManagementClass("Win32_LogicalDisk")来实现这一功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • C#线程队列用法实例分析

    C#线程队列用法实例分析

    这篇文章主要介绍了C#线程队列用法,以实例形式分析了C#线程队列的创建、运行、等待、结束等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • C#实现网页画图功能

    C#实现网页画图功能

    这篇文章主要为大家详细介绍了C#实现网页画图功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C# Cache缓存读取的设置方法

    C# Cache缓存读取的设置方法

    这篇文章主要介绍了C# Cache缓存读取的设置方法,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03

最新评论