Порівняння документів Word виконується в різних випадках для виявлення відмінностей. Різноманітні онлайн-інструменти дозволяють порівнювати документи Word, однак вам може знадобитися реалізувати функцію порівняння у ваших програмах. Щоб досягти цього, у цій статті показано, як порівняти два документи Word у Python.
- Бібліотека Python для порівняння документів Word
- Порівняйте два документи Word
- Додаткові параметри для порівняння документів Word
Бібліотека 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
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 за допомогою документації. У разі будь-яких питань ви можете поставити нам на нашому форумі.