使用 Python 比较 Word 文档

在各种情况下执行 Word 文档的比较以确定差异。各种在线工具允许您比较 Word 文档,但是,您可能需要在应用程序中实现比较功能。为了实现它,本文展示了如何在 Python 中比较两个 Word 文档。

用于比较 Word 文档的 Python 库

为了比较 DOCX 或 DOC 文档,我们将使用 Aspose.Words for Python。所述库允许您从 Python 应用程序中自动执行文字处理功能。您可以使用以下 pip 命令从 PyPI 安装库。

pip install aspose-words

在 Python 中比较两个 Word 文档

Aspose.Words for Python 让您可以轻松比较两个 Word 文档。在比较过程中,更改将作为修订发布在第一个文档中。以下是在 Python 中比较两个 Word 文档的步骤。

  • 首先,使用 Document 类加载第一个 Word 文档。
  • 然后,使用 Document 类加载第二个文档。
  • 使用第一个文档的 Document 对象调用 compare(Document, string, datetime.today()) 方法。
  • 使用 Document.revisions.count 属性检查文档是否不同。
  • 最后,保存第一个文档以获取修订。

下面的代码示例显示了如何比较两个 Word 文档。

import aspose.words as aw
from datetime import date

# 加载第一个文档
doc = aw.Document("calibre.docx")

# 加载第二个文档
doc2 = aw.Document("calibre2.docx")

# 比较文件
doc.compare(doc2, "user", date.today())

# 保存文档以获取修订
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

以下是比较结果的截图。

使用 Python 比较两个 Word 文档

比较 Word 文档的其他选项

Aspose.Words 还提供了一些额外的选项来控制文档比较过程。例如,您可以忽略特定类型的元素,如页眉、页脚、注释等。此外,您可以设置粒度来指定是按字符还是按单词比较文档。以下是设置这些选项的步骤。

  • 首先,使用 Document 类加载第一个 Word 文档。
  • 然后,使用 Document 类加载第二个文档。
  • 创建一个 CompareOptions 类的实例并设置所需的选项。
  • 使用第一个文档的 Document 对象调用 compare(Document, string, datetime.today(), CompareOptions) 方法。
  • 使用 Document.revisions.count 属性检查文档是否不同。
  • 最后,保存第一个文档以获取修订。

以下代码示例显示了在比较两个 Word 文档时如何使用其他选项。

import aspose.words as aw
from datetime import date

# 加载第一个文档
doc = aw.Document("calibre.docx")

# 加载第二个文档
doc2 = aw.Document("calibre2.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

# 比较文件
doc.compare(doc2, "user", date.today(), options)

# 保存文档以获取修订
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

获取免费 API 许可证

您可以获得临时许可证 以便在没有评估限制的情况下使用 Aspose.Words for Python。

结论

在本文中,您学习了如何在 Python 中比较两个 Word 文档。此外,您还了解了如何使用不同的选项控制文档比较操作。此外,您可以使用 文档 探索 Aspose.Words for Python 的其他功能。如有任何问题,您可以通过我们的 论坛 向我们提问。

也可以看看