Editar PowerPoint usando Python

Como desenvolvedor Python, você pode facilmente editar apresentações do PowerPoint programaticamente. Você pode atualizar o conteúdo do slide sem instalar nenhum aplicativo externo usando Python. Este artigo se concentrará em como editar apresentações do PowerPoint usando uma API REST em Python.

Os seguintes tópicos serão abordados neste artigo:

API REST do editor de documentos e SDK do Python

Para editar PPTX, usarei a API Python SDK of GroupDocs.Editor Cloud. Ele permite que você edite de forma programática documentos de processamento do Word, planilhas do Excel ou documentos de outros formatos suportados. Ele também fornece SDKs .NET, Java, PHP, Ruby, Android e Node.js como seus membros da família de editores de documentos para a Cloud API.

Você pode instalar GroupDocs.Editor-Cloud em seu projeto Python usando o seguinte comando no console:

pip install groupdocs_editor_cloud

Obtenha seu ID de cliente e Segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID e segredo, adicione o código conforme demonstrado abaixo:

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 = ""

Edite apresentações do PowerPoint usando a API REST em Python

Você pode editar a apresentação do PowerPoint seguindo as etapas simples mencionadas abaixo:

  1. Carregar o arquivo PPTX para a nuvem
  2. Editar o arquivo enviado
  3. Downloado arquivo atualizado

Carregue o Documento

Em primeiro lugar, carregue a apresentação do PowerPoint para a nuvem usando o exemplo de código abaixo:

# criar instância da api
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# carregar arquivo de amostra
request = groupdocs_editor_cloud.UploadFileRequest("sample.pptx", "C:\\Files\\sample.pptx", my_storage)
response = file_api.upload_file(request)

Como resultado, o arquivo PPTX será carregado no Cloud Storage e estará disponível na seção de arquivos do seu painel.

Editar apresentação do PowerPoint usando Python

Siga as etapas mencionadas abaixo para editar a apresentação do PowerPoint programaticamente.

  • Crie instâncias de API de arquivo e API de edição
  • Forneça o caminho do arquivo de entrada
  • Forneça opções de carregamento de apresentação
  • Carregue um arquivo com o método Load da API Edit
  • Baixe o documento HTML usando o método Download File da API de arquivo
  • Edite o documento HTML baixado
  • Carregar HTML de volta usando o método Upload File da API de arquivo
  • Fornecer PresentationSaveOptions para salvar em PPTX
  • Salve o HTML de volta para PPTX usando o método Salvar da API de edição

O trecho de código a seguir mostra como atualizar um documento de apresentação do PowerPoint usando uma API REST.

# inicialização da API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# carregá-lo em estado editável
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)) 

# baixar documento html
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""     

# ler arquivo HTML
with open(htmlFile, 'r') as file:
    html = file.read() 

# substituir texto    
html = html.replace("Hello World", "Welcome")

# carregar HTML de volta ao armazenamento
with open(htmlFile, 'w') as file:
    file.write(html)

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

# salvar HTML de volta para 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))

# feito
print("Document edited: " + saveResult.path)
Editar apresentação do PowerPoint usando Python

Editar apresentação do PowerPoint usando Python

Baixe o arquivo atualizado

O exemplo de código acima salvará o arquivo de apresentação do PowerPoint (PPTX) editado na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

# inicialização da API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# baixe o arquivo
request = groupdocs_editor_cloud.DownloadFileRequest("edited.pptx", my_storage)
response = file_api.download_file(request)

# mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\")

Atualizar imagens na apresentação do PowerPoint usando Python

Siga as etapas mencionadas abaixo para atualizar programaticamente a imagem na apresentação do PowerPoint.

  • Criar File API e Editar API instâncias
  • Forneça o caminho do arquivo de entrada
  • Forneça opções de carregamento de apresentação
  • Carregue um arquivo com o método Load da API Edit
  • Baixe o documento HTML usando o método Download File da API de arquivo
  • Carregar arquivo de imagem
  • Edite o documento HTML baixado and update the image
  • Carregar HTML de volta usando o método Upload File da API de arquivo
  • Fornecer PresentationSaveOptions para salvar em PPTX
  • Salve o HTML de volta para PPTX usando o método Salvar da API de edição

O trecho de código a seguir mostra como atualizar uma imagem no slide da apresentação do PowerPoint usando uma API REST.

# inicialização da API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# carregá-lo em estado editável
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)) 

# baixar documento html
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""     

# ler arquivo HTML
with open(htmlFile, 'r') as file:
    html = file.read() 

# fazer upload da imagem para substituir
request = groupdocs_editor_cloud.UploadFileRequest(loadOptions.output_path + "/sample.files/groupdocs.png", "C:\\Files\\groupdocs.png", "")
response = fileApi.upload_file(request)

# substituir imagem   
html = html.replace("Picture 2.png", "groupdocs.png")

# carregar HTML de volta ao armazenamento
with open(htmlFile, 'w') as file:
    file.write(html)

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

# salvar HTML de volta para 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))
Atualizar imagem no slide da apresentação do PowerPoint

Atualizar imagem no slide da apresentação do PowerPoint

A API cria um arquivo HTML no PresentationLoadOptions.output\path definido. Todos os arquivos de recurso associados ao arquivo HTML criado são colocados em um subdiretório de arquivos prefixado com o nome do arquivo de entrada, como “sample.files” neste caso. Você precisa carregar a imagem neste diretório e substituí-la pela imagem de destino. Todas as imagens no slide são denominadas Figura 2, Figura 3, etc. no atributo “src”.

Experimente on-line

Experimente a seguinte ferramenta de edição de PowerPoint on-line gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/editor/pptx

Conclusão

Neste artigo, você aprendeu como editar apresentações do PowerPoint na nuvem com a API REST do Editor de documentos usando Python. Você também aprendeu como carregar programaticamente o arquivo PPTX na nuvem e, em seguida, baixar o arquivo atualizado da nuvem. Você pode aprender mais sobre GroupDocs.Editor Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também