Как разработчик Python, вы можете программно сравнить два или более документа Word (.docx) на предмет сходства и различия в облаке. Сравнение документов помогает отслеживать изменения в документах Word. В этой статье основное внимание будет уделено тому, как сравнивать два или более документа Word с помощью REST API в Python.
В этой статье должны быть раскрыты следующие темы:
- Сравнение документов REST API и Python SDK
- Сравните документы Word с помощью REST API
- Сравните несколько документов Word с помощью Python
Сравнение документов REST API и Python SDK
Для сравнения документов Microsoft Word я буду использовать Python SDK of GroupDocs.Comparison Cloud API. Он сравнивает два документа поддерживаемых форматов файлов и находит различия между ними. В результате создается результирующий файл, содержащий различия, и вы можете принять или отклонить полученные изменения. Его можно легко интегрировать в существующие приложения Python, чтобы ваши конечные пользователи могли сравнивать документы, электронные таблицы, презентации, диаграммы Microsoft Visio, электронные письма и файлы многих других форматов. Он также предоставляет SDK для .NET, Java, PHP и Ruby в качестве членов семейства для сравнения документов для 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
- Определить параметры сравнения
- Создать запрос на сравнение
- Получите результаты, вызвав метод 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, если требуется
- Создать запрос на сравнение
- Получите результаты, вызвав метод 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, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.