在本文中,您将学习如何创建 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 比较库 - 获得免费许可证
您可以获得免费的临时许可证 来比较 PDF 文件而不受评估限制。
结论
在本文中,您学习了如何在 Python 中比较两个 PDF 文件。此外,您还了解了如何动态启用或禁用 PDF 文件的不同比较选项。因此,您可以很容易地在 Python 中创建您的 PDF 差异检查器应用程序。
探索 Aspose 的 Python PDF 比较库
您可以浏览我们在本文中使用的库的文档,以探索其他有用的功能。如有任何问题,您可以通过我们的 论坛 向我们提问。