Microsoft Word предлагает замечательную функцию для отслеживания изменений и сохранения редакций документов Word. Как разработчик Python, вы можете принимать или отклонять отслеживаемые изменения документов Word (.docx) программно в облаке. В этой статье основное внимание будет уделено тому, как принять или отклонить отслеживаемые изменения документа Word с помощью REST API в Python.
В этой статье должны быть раскрыты следующие темы:
- Сравнение документов REST API и Python SDK
- Принять или отклонить отслеживаемые изменения с помощью REST API в Python
- Принять или отклонить все изменения с помощью 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, выполнив простые действия, указанные ниже:
- Загрузить файлы DOCX в облако
- Принять или отклонить изменения с помощью Python
- Скачать результирующий файл
Загрузить документ
Во-первых, загрузите документ 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)
В случае отклонения каких-либо изменений вы можете использовать следующий пример кода:
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 и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.