Редактировать PowerPoint с помощью Python

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

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

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

Для редактирования PPTX я буду использовать API Python SDK of GroupDocs.Editor Cloud. Он позволяет программно редактировать документы Word, листы Excel или документы других поддерживаемых форматов. Он также предоставляет SDK для .NET, Java, PHP, Ruby, Android и Node.js в качестве членов семейства редакторов документов для Cloud API.

Вы можете установить GroupDocs.Editor-Cloud в свой проект Python, используя следующую команду в консоли:

pip install groupdocs_editor_cloud

Пожалуйста, получите свой идентификатор клиента и секрет клиента на панели управления, прежде чем приступать к выполнению шагов и доступных примеров кода. Получив свой идентификатор и секрет, добавьте код, как показано ниже:

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

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

Редактировать презентации PowerPoint с помощью REST API в Python

Вы можете отредактировать презентацию PowerPoint, выполнив простые шаги, указанные ниже:

  1. Загрузить файл PPTX в облако
  2. Изменить загруженный файл
  3. Скачать обновленный файл

Загрузить документ

Прежде всего, загрузите презентацию PowerPoint в облако, используя приведенный ниже пример кода:

# создать экземпляр API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# загрузить образец файла
request = groupdocs_editor_cloud.UploadFileRequest("sample.pptx", "C:\\Files\\sample.pptx", my_storage)
response = file_api.upload_file(request)

В результате файл PPTX будет загружен в облачное хранилище и будет доступен в разделе файлов вашей панели управления.

Редактировать презентацию PowerPoint с помощью Python

Пожалуйста, следуйте шагам, указанным ниже, чтобы программно отредактировать презентацию PowerPoint.

  • Создайте экземпляры File API и Edit API.
  • Укажите путь к входному файлу
  • Предоставить PresentationLoadOptions
  • Загрузите файл с помощью метода Load Edit API.
  • Загрузите HTML-документ, используя метод Download File File API.
  • Отредактируйте загруженный HTML-документ
  • Загрузить HTML обратно, используя метод Загрузить файл File API.
  • Предоставьте PresentationSaveOptions для сохранения в PPTX
  • Сохраните HTML обратно в PPTX, используя метод Save Edit API.

В следующем фрагменте кода показано, как обновить документ презентации PowerPoint с помощью REST API.

# инициализация API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# загрузить его в редактируемое состояние
fileInfo = groupdocs_editor_cloud.FileInfo("sample.pptx")
loadOptions = groupdocs_editor_cloud.PresentationLoadOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
loadOptions.slide_number = 0
loadOptions.show_hidden_slides = True
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions)) 

# скачать html-документ
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""     

# читать HTML-файл
with open(htmlFile, 'r') as file:
    html = file.read() 

# заменить текст    
html = html.replace("Hello World", "Welcome")

# загрузить HTML обратно в хранилище
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# сохранить HTML обратно в PPTX
saveOptions = groupdocs_editor_cloud.PresentationSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.pptx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveOptions.password = "password"
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# сделанный
print("Document edited: " + saveResult.path)
Редактировать презентацию PowerPoint с помощью Python

Редактировать презентацию PowerPoint с помощью Python

Загрузите обновленный файл

Приведенный выше пример кода сохранит отредактированный файл презентации PowerPoint (PPTX) в облаке. Вы можете загрузить его, используя следующий пример кода:

# инициализация API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# скачать файл
request = groupdocs_editor_cloud.DownloadFileRequest("edited.pptx", my_storage)
response = file_api.download_file(request)

# переместите загруженный файл в свой рабочий каталог
shutil.move(response, "C:\\Files\\")

Обновление изображений в презентации PowerPoint с помощью Python

Выполните указанные ниже действия, чтобы программно обновить изображение в презентации PowerPoint.

  • Создайте экземпляры File API и Edit API.
  • Укажите путь к входному файлу
  • Предоставить PresentationLoadOptions
  • Загрузите файл с помощью метода Load Edit API.
  • Загрузите HTML-документ, используя метод Download File File API.
  • Загрузить файл изображения
  • Отредактируйте загруженный HTML-документ and update the image
  • Загрузить HTML обратно, используя метод Загрузить файл File API.
  • Предоставьте PresentationSaveOptions для сохранения в PPTX
  • Сохраните HTML обратно в PPTX, используя метод Save Edit API.

В следующем фрагменте кода показано, как обновить изображение на слайде презентации PowerPoint с помощью REST API.

# инициализация API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# загрузить его в редактируемое состояние
fileInfo = groupdocs_editor_cloud.FileInfo("sample.pptx")
loadOptions = groupdocs_editor_cloud.PresentationLoadOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
loadOptions.slide_number = 0
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions)) 

# скачать html-документ
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""     

# читать HTML-файл
with open(htmlFile, 'r') as file:
    html = file.read() 

# загрузить изображение для замены
request = groupdocs_editor_cloud.UploadFileRequest(loadOptions.output_path + "/sample.files/groupdocs.png", "C:\\Files\\groupdocs.png", "")
response = fileApi.upload_file(request)

# заменить изображение   
html = html.replace("Picture 2.png", "groupdocs.png")

# загрузить HTML обратно в хранилище
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# сохранить HTML обратно в PPTX
saveOptions = groupdocs_editor_cloud.PresentationSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.pptx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))
Обновить изображение на слайде презентации PowerPoint

Обновить изображение на слайде презентации PowerPoint

API создает файл HTML в определенном PresentationLoadOptions.output\path. Все файлы ресурсов, связанные с созданным файлом HTML, помещаются в подкаталог файлов с префиксом имени входного файла, например, в данном случае «sample.files». Вам нужно загрузить изображение в этот каталог, а затем заменить его целевым изображением. Все изображения на слайде называются Picture 2, Picture 3 и т. д. в атрибуте «src».

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

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

Заключение

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

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