Прийняти або відхилити зміни

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

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

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

Для роботи з версіями я буду використовувати API Python SDK GroupDocs.Comparison Cloud. Він порівнює два ‎документи підтримуваних форматів файлів і знаходить відмінності ‎між ними. У результаті створюється результуючий файл, що містить відмінності. Це також дозволяє прийняти або відхилити отримані зміни. Ви можете легко інтегрувати SDK у свої існуючі програми Python. Він дає змогу порівнювати документи, електронні таблиці, презентації, діаграми Microsoft Visio, електронні листи та файли багатьох інших форматів. Він також надає .NET, Java, PHP, Node.js і Ruby SDK як члени сімейства порівняння документів для Cloud API.

Ви можете встановити GroupDocs.Comparison Cloud у свій проект Python за допомогою такої команди в консолі:

pip install groupdocs_comparison_cloud

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

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"

configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Прийняти або відхилити відстежувані зміни за допомогою REST API у Python

Ви можете прийняти або відхилити певні версії документів Word, виконавши прості кроки, згадані нижче:

  1. Завантажте файли DOCX у хмару
  2. Прийняти або відхилити зміни за допомогою Python
  3. Завантажити отриманий файл

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

По-перше, завантажте документ Word із змінами в хмару, використовуючи наведений нижче приклад коду:

# Створіть екземпляр API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

request = groupdocs_comparison_cloud.UploadFileRequest("source_with_revs.docx", "C:\\Files\\source_with_revs.docx", "")
response = file_api.upload_file(request)

У результаті завантажений файл DOCX буде доступний у розділі файлів вашої інформаційної панелі в хмарі.

Прийняти або відхилити зміни за допомогою Python

Будь ласка, виконайте наведені нижче кроки, щоб прийняти або відхилити редакції програмним шляхом.

  • Створіть екземпляр ReviewApi
  • Встановіть вихідний файл .docx
  • Визначте ApplyRevisionsOptions
  • Призначте джерело та встановіть вихідний файл
  • Створіть GetRevisionsRequest
  • Отримайте версії, викликавши метод ReviewApi.get\revisions().
  • Для кожної редакції встановіть дію «Прийняти» або «Відхилити».
  • Призначте оновлені версії для ApplyRevisionsOptions
  • Створіть ApplyRevisionsRequest
  • Отримайте результати, викликавши метод ReviewApi.apply\revisions().

У наступному прикладі коду показано, як прийняти відстежені зміни за допомогою REST API.

# Створіть екземпляр API
api_instance = groupdocs_comparison_cloud.ReviewApi.from_keys(client_id, client_secret)

# Установити вихідний файл
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_with_revs.docx"

options = groupdocs_comparison_cloud.ApplyRevisionsOptions()
options.source_file = source
options.output_path = "output/result.docx"

request = groupdocs_comparison_cloud.GetRevisionsRequest(options)
revisions = api_instance.get_revisions(request)

# Отримати кількість усіх редакцій
print("Revisions count: " + str(len(revisions)))

# Прийняти зміни
for revision in revisions:
    revision.action = "Accept"

options.revisions = revisions

request = groupdocs_comparison_cloud.ApplyRevisionsRequest(options)
response = api_instance.apply_revisions(request)
Прийняти зміни за допомогою Python

Прийняти зміни за допомогою Python

У разі відхилення будь-яких змін ви можете скористатися наступним прикладом коду:

for revision in revisions:
        revision.action = "Reject"

Завантажте отриманий файл

У результаті наведений вище приклад коду збереже щойно створений файл 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\\")

Прийняти або відхилити всі зміни за допомогою Python

Будь ласка, виконайте наведені нижче дії, щоб прийняти або відхилити всі зміни відразу програмним шляхом.

  • Створіть екземпляр ReviewApi
  • Встановіть вихідний файл .docx
  • Визначте ApplyRevisionsOptions
  • Потім призначте джерело та встановіть вихідний файл
  • Встановіть accept\all на “True”, щоб прийняти всі зміни
  • Або встановіть для параметра reject\all значення “True”, щоб відхилити всі зміни
  • Потім призначте оновлені версії ApplyRevisionsOptions
  • Створіть ApplyRevisionsRequest
  • Отримайте результати, викликавши метод ReviewApi.apply\revisions().

У наступному прикладі коду показано, як прийняти всі зміни за допомогою REST API. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.

# Створіть екземпляр API
api_instance = groupdocs_comparison_cloud.ReviewApi.from_keys(client_id, client_secret)

# Установити вихідний файл
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_with_revs.docx"

options = groupdocs_comparison_cloud.ApplyRevisionsOptions()
options.source_file = source
options.output_path = "output/result.docx"

# Прийняти всі зміни
options.accept_all = True   

request = groupdocs_comparison_cloud.ApplyRevisionsRequest(options)
response = api_instance.apply_revisions(request)

Ви можете відхилити всі версії, використовуючи такий приклад коду:

options.reject_all = True

Спробуйте онлайн

Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент порівняння Word, який розроблено за допомогою вищезазначеного API. https://products.groupdocs.app/comparison/docx

Висновок

У цій статті ви дізналися, як приймати або відхиляти відстежені зміни документів Microsoft Word у хмарі за допомогою Python. Ви також дізналися, як програмно завантажити файл DOCX у хмару, а потім завантажити отриманий файл із хмари. Ви можете дізнатися більше про GroupDocs.Comparison Cloud API, використовуючи документацію. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також