Порівняйте документи 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.
  • Потім завантажте другий документ за допомогою класу документа.
  • Викличте метод compare(Document, string, datetime.today()) за допомогою об’єкта Document першого документа.
  • Перевірте, чи відрізняються документи за допомогою властивості 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")

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

Порівняйте два документи Word за допомогою Python

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

Aspose.Words також надає додаткові параметри для керування процесом порівняння документів. Наприклад, ви можете ігнорувати певні типи елементів, як-от верхні, нижні колонтитули, коментарі тощо. Крім того, ви можете встановити деталізацію, щоб указати, чи порівнювати документи за символами чи словами. Нижче наведено кроки для встановлення цих параметрів.

  • Спочатку завантажте перший документ Word за допомогою класу Document.
  • Потім завантажте другий документ за допомогою класу документа.
  • Створіть екземпляр класу CompareOptions і встановіть потрібні параметри.
  • Викличте метод compare(Document, string, datetime.today(), CompareOptions) за допомогою об’єкта Document першого документа.
  • Перевірте, чи відрізняються документи за допомогою властивості 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 без оціночних обмежень.

Висновок

У цій статті ви дізналися, як порівнювати два документи Word у Python. Крім того, ви бачили, як керувати операцією порівняння документів за допомогою різних параметрів. Крім того, ви можете дослідити інші функції Aspose.Words for Python за допомогою документації. У разі будь-яких питань ви можете поставити нам на нашому форумі.

Дивись також