Editar PowerPoint usando Python

Como desarrollador de Python, puede editar fácilmente presentaciones de PowerPoint mediante programación. Puede actualizar el contenido de la diapositiva sin instalar ninguna aplicación externa usando Python. Este artículo se centrará en cómo editar presentaciones de PowerPoint utilizando una API REST en Python.

En este artículo se tratarán los siguientes temas:

API REST del editor de documentos y SDK de Python

Para editar PPTX, utilizaré la API Python SDK de GroupDocs.Editor Cloud. Le permite editar mediante programación documentos de procesamiento de Word, hojas de Excel o documentos de otros formatos admitidos. También proporciona SDK de .NET, Java, PHP, Ruby, Android y Node.js como sus miembros de la familia de editores de documentos para la API de la nube.

Puede instalar GroupDocs.Editor-Cloud en su proyecto Python usando el siguiente comando en la consola:

pip install groupdocs_editor_cloud

Obtenga su ID de cliente y Secreto de cliente del panel de control antes de comenzar a seguir los pasos y los ejemplos de código disponibles. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

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 presentaciones de PowerPoint utilizando la API REST en Python

Puede editar la presentación de PowerPoint siguiendo los sencillos pasos que se mencionan a continuación:

  1. Subir el archivo PPTX a la Nube
  2. Editar el archivo subido
  3. Descargarel archivo actualizado

Sube el documento

En primer lugar, cargue la presentación de PowerPoint en la nube utilizando el ejemplo de código que se muestra a continuación:

# crear instancia de la api
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# cargar archivo de muestra
request = groupdocs_editor_cloud.UploadFileRequest("sample.pptx", "C:\\Files\\sample.pptx", my_storage)
response = file_api.upload_file(request)

Como resultado, el archivo PPTX se cargará en Cloud Storage y estará disponible en la sección de archivos de su tablero.

Editar presentación de PowerPoint usando Python

Siga los pasos que se mencionan a continuación para editar la presentación de PowerPoint mediante programación.

  • Crear instancias de File API y Editar API
  • Proporcione la ruta del archivo de entrada
  • Proporcionar PresentationLoadOptions
  • Cargue un archivo con el método Load de Edit API
  • Descargue el documento HTML utilizando el método Descargar archivo de File API
  • Edite el documento HTML descargado
  • Vuelva a cargar HTML utilizando el método Subir archivo de la API de archivos
  • Proporcione PresentationSaveOptions para guardar en PPTX
  • Guarde HTML nuevamente en PPTX usando el método Guardar de Editar API

El siguiente fragmento de código muestra cómo actualizar un documento de presentación de PowerPoint mediante una API REST.

# inicialización de la API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# cargarlo en estado editable
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)) 

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

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

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

# cargar HTML de nuevo al almacenamiento
with open(htmlFile, 'w') as file:
    file.write(html)

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

# guardar HTML de nuevo en 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))

# hecho
print("Document edited: " + saveResult.path)
Editar presentación de PowerPoint usando Python

Editar presentación de PowerPoint usando Python

Descargar el archivo actualizado

El ejemplo de código anterior guardará el archivo de presentación de PowerPoint (PPTX) editado en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:

# inicialización de la API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# descargar el archivo
request = groupdocs_editor_cloud.DownloadFileRequest("edited.pptx", my_storage)
response = file_api.download_file(request)

# mover el archivo descargado a su directorio de trabajo
shutil.move(response, "C:\\Files\\")

Actualizar imágenes en una presentación de PowerPoint usando Python

Siga los pasos que se mencionan a continuación para actualizar la imagen en la presentación de PowerPoint mediante programación.

  • Crear instancias de File API y Editar API
  • Proporcione la ruta del archivo de entrada
  • Proporcionar PresentationLoadOptions
  • Cargue un archivo con el método Load de Edit API
  • Descargue el documento HTML utilizando el método Descargar archivo de File API
  • Subir archivo de imagen
  • Edite el documento HTML descargado and update the image
  • Vuelva a cargar HTML usando el método Cargar archivo de File API
  • Proporcione PresentationSaveOptions para guardar en PPTX
  • Guarde HTML de nuevo en PPTX utilizando el método Guardar de Editar API

El siguiente fragmento de código muestra cómo actualizar una imagen en la diapositiva de la presentación de PowerPoint mediante una API REST.

# inicialización de la API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# cargarlo en estado editable
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)) 

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

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

# subir imagen para reemplazar
request = groupdocs_editor_cloud.UploadFileRequest(loadOptions.output_path + "/sample.files/groupdocs.png", "C:\\Files\\groupdocs.png", "")
response = fileApi.upload_file(request)

# reemplazar imagen   
html = html.replace("Picture 2.png", "groupdocs.png")

# cargar HTML de nuevo al almacenamiento
with open(htmlFile, 'w') as file:
    file.write(html)

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

# guardar HTML de nuevo en 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))
Actualizar imagen en diapositiva de presentación de PowerPoint

Actualizar imagen en diapositiva de presentación de PowerPoint

La API crea un archivo HTML en PresentationLoadOptions.output\path definido. Todos los archivos de recursos asociados con el archivo HTML creado se colocan en un subdirectorio de archivos con el prefijo del nombre del archivo de entrada, como “sample.files” en este caso. Debe cargar la imagen en este directorio y luego reemplazarla con la imagen de destino. Todas las imágenes de la diapositiva se denominan Imagen 2, Imagen 3, etc. en el atributo “src”.

Prueba en línea

Pruebe la siguiente herramienta gratuita de edición de PowerPoint en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/editor/pptx

Conclusión

En este artículo, ha aprendido a editar presentaciones de PowerPoint en la nube con la API REST del Editor de documentos usando Python. También aprendió cómo cargar mediante programación el archivo PPTX en la nube y luego descargar el archivo actualizado desde la nube. Puede obtener más información sobre GroupDocs.Editor Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también