Як розробник Python ви можете програмно порівнювати два або більше документів Word (.docx) на предмет схожості та відмінностей у хмарі. Порівняння документів допомагає відстежувати зміни в документах Word. У цій статті мова піде про те, як порівняти два чи більше документів Word за допомогою REST API у Python.
У цій статті будуть розглянуті такі теми:
- Порівняння документів REST API і Python SDK
- Порівнюйте документи Word за допомогою REST API
- Порівняйте кілька документів Word за допомогою Python
Порівняння документів REST API і Python SDK

Для порівняння документів Microsoft Word я буду використовувати API Python SDK of GroupDocs.Comparison Cloud. Він порівнює два документи підтримуваних форматів файлів і знаходить відмінності між ними. У результаті створюється кінцевий файл, що містить відмінності, і ви можете прийняти або відхилити отримані зміни. Його можна легко інтегрувати у ваші існуючі програми Python, щоб ваші кінцеві користувачі могли порівнювати документи, електронні таблиці, презентації, діаграми Microsoft Visio, електронні листи та файли багатьох інших форматів. Він також надає .NET, Java, PHP і Ruby SDK як члени сімейства порівняння документів для Cloud API.
Ви можете встановити GroupDocs.Comparison Cloud у свій проект Python за допомогою pip (інсталятор пакета для python), використовуючи таку команду в консолі:
pip install groupdocs_comparison_cloud
Будь ласка, отримайте свій ідентифікатор клієнта та секрет клієнта з інформаційної панелі, перш ніж почати виконувати кроки та доступні приклади коду. Додайте свій ідентифікатор і секрет у код, як показано нижче:
client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
my_storage = ""
configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
Порівнюйте документи Word за допомогою REST API у Python
Ви можете порівняти два документи Word, виконавши прості кроки, згадані нижче:
- Завантажте файли DOCX у хмару
- Порівняти файли Word у Python
- Завантажити отриманий файл
Завантажте документ
Перш за все, завантажте вихідний і цільовий документи Word у хмару, використовуючи наведений нижче приклад коду:
# ініціалізація API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_comparison_cloud.StorageApi.from_config(configuration)
# завантажити зразки файлів
for filename in glob.iglob("C:\\Files\\*.docx", recursive=True):
destFile = filename.replace("C:\\Files\\", "", 1)
fileExistsResponse = storage_api.object_exists(groupdocs_comparison_cloud.ObjectExistsRequest(destFile))
if not fileExistsResponse.exists:
file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
print("Uploaded file: "+ destFile)
У результаті завантажені файли DOCX (source.docx, target.docx) будуть доступні в розділі файлів вашої інформаційної панелі в хмарі.
Порівняйте файли Word у Python
Виконайте наведені нижче кроки, щоб програмно порівняти два документи Word.
- Створіть екземпляр CompareApi
- Встановіть вихідний файл .docx
- Установіть цільовий файл .docx
- Визначте ComparisonOptions
- Створіть ComparisonsRequest
- Отримайте результати, викликавши метод CompareApi.comparisons().
У наведеному нижче фрагменті коду показано, як порівняти два документи Word за допомогою REST API.
# Створіть необхідні екземпляри API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.docx"
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "Output/result.docx"
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)
Ви можете надати пароль для захищених паролем вихідних або цільових файлів, як показано нижче:
target.password = "5784"
Ви також можете визначити різні параметри, які будуть застосовані під час порівняння, і призначити їх ComparisonOptions, як показано нижче:
settings = groupdocs_comparison_cloud.Settings()
# Порівняйте чутливість
settings.sensitivity_of_comparison = 100
# Налаштуйте стилі для змін
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True
options.settings = settings
Завантажте отриманий файл
Наведений вище зразок коду збереже відмінності у щойно створеному файлі DOCX у хмарі. Ви можете завантажити його за допомогою наступного зразка коду:
# Створіть екземпляр API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
request = groupdocs_comparison_cloud.DownloadFileRequest("Output\\result.docx", my_storage)
response = file_api.download_file(request)
# Перемістіть завантажений файл у свій робочий каталог
shutil.move(response, "C:\\Files\\")

Отриманий файл також містить сторінку підсумку в кінці документа, як показано нижче:

Порівняйте кілька файлів Word за допомогою Python
Виконайте наведені нижче кроки, щоб порівняти кілька документів Word за допомогою Python.
- Створіть екземпляр CompareApi
- Встановіть вихідний файл .docx
- Установіть кілька цільових файлів .docx
- Визначте ComparisonOptions, якщо потрібно
- Створіть ComparisonsRequest
- Отримайте результати, викликавши метод CompareApi.comparisons().
У наведеному нижче фрагменті коду показано, як порівняти кілька документів Word за допомогою Python. Щоб завантажити декілька файлів DOCX, дотримуйтесь згаданих вище кроків.
# Створіть необхідні екземпляри API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.docx"
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.docx"
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "Output/result.docx"
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)
Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент порівняння DOCX, який розроблено за допомогою наведеного вище API. https://products.groupdocs.app/comparison/docx
Висновок
У цій статті ви дізналися, як порівнювати документи Microsoft Word у хмарі з REST API порівняння документів за допомогою Python. Ви також дізналися, як програмно завантажити два або більше файлів у хмару, а потім завантажити отриманий файл із хмари. Ви можете дізнатися більше про GroupDocs.Comparison Cloud API, використовуючи документацію. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.