在本文中,您将学习如何创建 PDF 差异检查工具并在 Python 中比较两个 PDF 文件。

比较 Python 中的 PDF 文件

很多时候,您需要比较 PDF 文档的两个版本并检查内容的差异。这可能需要识别文档中的有意或无意修改。由于逐字检查PDF文件是不可行的,因此可以使用各种在线PDF比较工具来找出两个PDF文件之间的差异。但是,如果您想在 Python 应用程序中以编程方式比较 PDF 文件,本文可帮助您通过几个简单的步骤来完成。

用于比较 PDF 文件的 Python 库 - 免费下载

Aspose.Words for Python 是一个功能强大且易于使用的库,用于创建和处理文本文档,包括 DOC、DOCX 和 PDF。该库可让您比较文档并跟踪更改,甚至在字符级别。我们将使用这个库来比较本文中的 PDF 文件。要从 PyPI 安装库,可以使用以下 pip 命令。

> pip install aspose-words

在 Python 中比较 PDF 文件的步骤

Aspose.Words for Python 提供了强大的 PDF 比较机制,让您轻松找到差异。以下是使用所述 Python 库比较两个 PDF 文件的步骤。

  • 加载两个 PDF 文件。
  • 将 PDF 文件转换为 Word 格式。
  • 比较两个 Word 文档以获取更改。
  • 将包含更改的文档以 PDF 格式保存到所需位置。

在下一节中,您将看到如何将上述步骤转换为 Python 代码并比较两个 PDF 文件。

在 Python 中比较两个 PDF 文件

以下是在 Python 中比较两个 PDF 文件并检查差异的步骤。

  • 首先,使用 Document 类加载两个 PDF 文件。
  • 然后,使用 Document.save() 方法将 PDF 文件转换为 Word DOCX 格式。
  • 创建和设置所需的 CompareOptions 并使用 Document.compare() 方法比较文档。
  • 最后,使用 Document.save() 方法保存包含差异的 PDF 文件。

以下代码示例展示了如何在 Python 中执行 PDF 比较。

import aspose.words as aw
from datetime import date

# 加载 PDF 文件
PDF1 = aw.Document("first.pdf")
PDF2 = aw.Document("second.pdf")

# 将 PDF 文件转换为 Word 格式
PDF1.save("first.docx", aw.SaveFormat.DOCX)
PDF2.save("second.docx", aw.SaveFormat.DOCX)

# 加载转换后的 Word 文档 
DOC1 = aw.Document("first.docx")
DOC2 = aw.Document("second.docx")

# 设置比较选项
options = aw.comparing.CompareOptions()            
options.ignore_formatting = True
options.ignore_headers_and_footers = True
options.ignore_case_changes = True
options.ignore_tables = True
options.ignore_fields = True
options.ignore_comments = True
options.ignore_textboxes = True
options.ignore_footnotes = True

# 比较后,DOC1 将包含更改作为修订
DOC1.compare(DOC2, "user", date.today(), options)

if (DOC1.revisions.count > 0):
    # 将结果文件另存为 PDF
    DOC1.save("compared.pdf", aw.SaveFormat.PDF)
else:
    print("Documents are equal")

以下屏幕截图显示了两个 PDF 文件的比较。

Python中PDF文件的比较

Python PDF 比较库 - 获得免费许可证

您可以获得免费的临时许可证 来比较 PDF 文件而不受评估限制。

结论

在本文中,您学习了如何在 Python 中比较两个 PDF 文件。此外,您还了解了如何动态启用或禁用 PDF 文件的不同比较选项。因此,您可以很容易地在 Python 中创建您的 PDF 差异检查器应用程序。

探索 Aspose 的 Python PDF 比较库

您可以浏览我们在本文中使用的库的文档,以探索其他有用的功能。如有任何问题,您可以通过我们的 论坛 向我们提问。

也可以看看