Сравните документы Word с помощью Python

Сравнение документов Word выполняется в различных случаях для выявления различий. Различные онлайн-инструменты позволяют сравнивать документы Word, однако вам может потребоваться реализовать функцию сравнения в ваших приложениях. Для этого в этой статье показано, как сравнить два документа Word в Python.

Библиотека Python для сравнения документов Word

Для сравнения документов DOCX или DOC мы будем использовать Aspose.Words for Python. Упомянутая библиотека позволяет автоматизировать функции обработки текстов из ваших приложений Python. Вы можете установить библиотеку из PyPI, используя следующую команду pip.

pip install aspose-words

Сравните два документа Word в Python

Aspose.Words for Python упрощает сравнение двух документов Word. В процессе сравнения изменения публикуются в первом документе как ревизии. Ниже приведены шаги для сравнения двух документов Word в Python.

  • Сначала загрузите первый документ Word, используя класс Document.
  • Затем загрузите второй документ, используя класс Document.
  • Вызовите метод compare(Document, string, datetime.today()), используя объект Document первого документа.
  • Проверьте, различаются ли документы, используя свойство Document.revisions.count.
  • Наконец, сохраните первый документ, чтобы получить изменения.

В следующем примере кода показано, как сравнить два документа Word.

import aspose.words as aw

# load first document
doc = aw.Document("calibre.docx")

# load second document
doc2 = aw.Document("calibre2.docx")

# compare documents
doc.compare(doc2, "user", date.today())

# save the document to get the revisions
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

Ниже приведен скриншот результата сравнения.

Сравните два документа Word с помощью Python

Дополнительные параметры для сравнения документов Word

Aspose.Words также предоставляет некоторые дополнительные параметры для управления процессом сравнения документов. Например, вы можете игнорировать определенные типы элементов, такие как заголовки, нижние колонтитулы, комментарии и т. д. Кроме того, вы можете установить степень детализации, чтобы указать, следует ли сравнивать документы по символам или словам. Ниже приведены шаги для установки этих параметров.

  • Сначала загрузите первый документ Word, используя класс Document.
  • Затем загрузите второй документ, используя класс Document.
  • Создайте экземпляр класса CompareOptions и установите нужные параметры.
  • Вызовите метод compare(Document, string, datetime.today(), CompareOptions), используя объект Document первого документа.
  • Проверьте, различаются ли документы, используя свойство Document.revisions.count.
  • Наконец, сохраните первый документ, чтобы получить изменения.

В следующем примере кода показано, как использовать дополнительные параметры при сравнении двух документов Word.

import aspose.words as aw

# load first document
doc = aw.Document("calibre.docx")

# load second document
doc2 = aw.Document("calibre2.docx")

# set additional options
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

# compare documents
doc.compare(doc2, "user", date.today(), options)

# save the document to get the revisions
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

Получите бесплатную лицензию API

Вы можете получить временную лицензию, чтобы использовать Aspose.Words for Python без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как сравнить два документа Word в Python. Более того, вы увидели, как управлять операцией сравнения документов с помощью различных опций. Кроме того, вы можете изучить другие возможности Aspose.Words для Python с помощью документации. В случае возникновения вопросов вы можете задать их нам через наш форум.

Смотрите также