Compare PDF Files and Highlight Differences using C#

在某些情况下,您可能需要在 .NET 应用程序中比较两个或多个 PDF 文档。您可以轻松地以编程方式比较和突出差异。在本文中,您将学习如何使用 C# 比较两个或多个 PDF 文件并突出显示差异。

本文讨论/涵盖了以下主题:

用于比较 PDF 文档的 C# API

为了比较 PDF 文档,我将使用 GroupDocs.Comparison for .NET API。它进行比较以检测单词、段落和字符的内容变化,同时提供列出差异摘要的比较文档。 .NET 比较库支持检查流行图像和文档格式(如 PDF、HTML、Outlook 电子邮件、Microsoft Office Word 文档、Excel 电子表格、PowerPoint 演示文稿、OneNote、Visio 图表、文本)的内容和文本样式的差异, 和图像。它可用于在任何面向 .NET 平台的开发环境中开发应用程序。

您可以下载 API 的 DLL 或使用 NuGet 安装它。

Install-Package GroupDocs.Comparison

使用 C# 比较两个 PDF 文件

您可以按照以下简单步骤比较两个 PDF 文档:

  1. 创建 Comparer 类的实例
  2. 向构造函数提供源 PDF 文件路径
  3. 添加目标PDF文件到比较
  4. 调用 Compare 方法以及输出文件路径

以下代码示例展示了如何使用 C# 比较两个 PDF 文档并突出显示差异。

using (Comparer comparer = new Comparer("C:\\Files\\source.pdf"))
{
    comparer.Add("C:\\Files\\target.pdf");
    comparer.Compare("C:\\Files\\result.pdf");
}
使用 C# 比较两个 PDF 文件

使用 C# 比较两个 PDF 文件

生成的文档在文档末尾包含一个摘要页面,显示更改摘要,如下所示:

变更摘要

变更摘要

如果要比较多个 PDF 文件,则只需将多个目标 PDF 文件添加到比较中,如下所示:

comparer.Add("target2.docx");
comparer.Add("target3.docx");

使用 C# 比较受密码保护的 PDF 文件

您可以按照以下简单步骤比较受密码保护的 PDF 文档:

  1. 创建 Comparer 类的实例
  2. 向构造函数提供源 PDF 文件路径
  3. 使用 LoadOptions 为源文件提供密码
  4. 将目标 PDF 文件添加到比较中
  5. 使用 LoadOptions 为目标文件提供密码
  6. 调用 Compare 方法以及输出文件路径

以下代码示例展示了如何使用 C# 比较受密码保护的 PDF 文档。

using (Comparer comparer = new Comparer("C:\\Files\\source.pdf", new LoadOptions() { Password = "1234" }))
{
    comparer.Add("C:\\Files\\target.pdf", new LoadOptions() { Password = "5678" });
    comparer.Compare("C:\\Files\\result.pdf");
}

获得免费许可证

您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。

结论

在本文中,您学习了如何使用 C# 比较两个或多个 PDF 文档并突出显示差异。您可以使用 文档 了解有关 GroupDocs.Comparison .NET API 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看