Принять или отклонить изменения

Microsoft Word предлагает замечательную функцию для отслеживания изменений и сохранения редакций документов Word. Как разработчик Python, вы можете принимать или отклонять отслеживаемые изменения документов Word (.docx) программно в облаке. В этой статье основное внимание будет уделено тому, как принять или отклонить отслеживаемые изменения документа Word с помощью REST API в Python.

В этой статье должны быть раскрыты следующие темы:

Сравнение документов REST API и Python SDK

Для работы с ревизиями я буду использовать Python SDK of GroupDocs.Comparison Cloud API. Он сравнивает два документа поддерживаемых форматов файлов и находит различия между ними. В результате создается результирующий файл, содержащий различия. Это также позволяет вам принять или отклонить полученные изменения. Вы можете легко интегрировать SDK ‎в существующие приложения Python. Это дает вам возможность сравнивать документы, электронные таблицы, презентации, диаграммы Microsoft Visio, электронные письма и файлы многих других форматов. Он также предоставляет SDK для .NET, Java, PHP, Node.js и Ruby в качестве членов семейства для сравнения документов для 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

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

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

Заключение

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

Смотрите также