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

У цій статті будуть розглянуті такі теми:

Порівняння документів REST API і Python SDK

GroupDocs.Порівняння для хмари

Для порівняння документів 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, виконавши прості кроки, згадані нижче:

Завантажте документ

Перш за все, завантажте вихідний і цільовий документи 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 за допомогою REST API у Python

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

Сторінка резюме

Порівняйте кілька файлів 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 та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.