Combinar archivos de PowerPoint en Python

Mientras trabaja con la automatización de PowerPoint en Python, es posible que deba fusionar el contenido de varias presentaciones. Esto podría ser necesario cuando varias personas crean una presentación en partes que deben fusionarse eventualmente. Para automatizar esta combinación, este artículo muestra cómo combinar PowerPoint PPT o PPTX mediante programación en Python.

Biblioteca de Python para fusionar PowerPoint PPT

Aspose.Slides for Python via .NET es una poderosa biblioteca de Python para crear y manipular archivos de presentación. Además, proporciona formas flexibles de fusionar múltiples presentaciones PPT/PPTX. Utilizaremos esta biblioteca para fusionar presentaciones en este artículo. Puede instalarlo desde PyPI usando el siguiente comando pip.

> pip install aspose.slides

Combinar presentaciones de PowerPoint en Python

Para fusionar las presentaciones PPT, deberá clonar las diapositivas de una presentación a la otra. Los siguientes son los pasos para fusionar dos archivos PPT en Python.

  • Cree un objeto de la clase Presentation para cargar la primera presentación.
  • Cree otro objeto Presentation para cargar la segunda presentación.
  • Inicie un ciclo para iterar a través de las diapositivas en la segunda presentación.
  • En cada iteración, combine la diapositiva con la primera presentación utilizando el método Presentation.slides.add\clone(ISlide).
  • Finalmente, guarde la presentación fusionada usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo fusionar dos presentaciones de PowerPoint PPTX en Python.

import aspose.slides as slides

# open first PPT
with slides.Presentation("presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:
        
        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide)
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Primera presentación

presentación de powerpoint de destino

Segunda Presentación

fuente de presentación de powerpoint para fusionar

Presentación fusionada

fusionado powerpoint ppt en python

Combinar presentaciones con diferentes tamaños de diapositivas

Es posible que las presentaciones que vayas a fusionar usen diferentes tamaños para sus diapositivas. En tales casos, es mejor sincronizar el tamaño de las diapositivas antes de fusionarlas. Veamos cómo fusionar archivos PPT de PowerPoint que tienen diferentes tamaños de diapositivas.

  • Cree un objeto de la clase Presentation para cargar el primer PPT.
  • Cree otro objeto de presentación para cargar el segundo PPT.
  • Cambie el tamaño de las diapositivas en el segundo PPT usando el método Presentation.slide\size.set_size(int, int, SlideSizeScaleType).
  • Inicie un ciclo para iterar a través de las diapositivas en el segundo PPT.
  • En cada iteración, combine la diapositiva con el primer PPT utilizando el método Presentation.slides.add\clone(ISlide).
  • Finalmente, guarde el PPT combinado usando el método Presentation.save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo fusionar presentaciones PPT con diferentes tamaños de diapositivas.

import aspose.slides as slides

# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:
        
        # change size of slides
        pres2.slide_size.set_size(pres1.slide_size.size.width, pres1.slide_size.size.height, slides.SlideSizeScaleType.ENSURE_FIT)
        
        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide)
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Combinar diapositivas PPT en una sección específica en Python

También puede combinar diapositivas PPT en una sección específica de la presentación de destino. Para esto, se utiliza el método Presentation.slides.add\clone(ISlide, ISection). El siguiente ejemplo de código muestra cómo fusionar diapositivas de la primera presentación a una sección particular de la segunda presentación.

import aspose.slides as slides

# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:

        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide, pres1.sections[0])
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Use el patrón de diapositivas mientras fusiona PowerPoint PPT

En las secciones anteriores, hemos fusionado las diapositivas manteniendo el diseño y la plantilla del segundo PPT. Sin embargo, es posible que necesitemos usar el diseño de la primera presentación (o de destino) para las diapositivas clonadas. En tales casos, se usa el método sobrecargado Presentation.slides.add\clone(ISlide, Presentation.masters[int], allow\clone\missing\layout = True) donde el segundo parámetro define el patrón de diapositivas.

El siguiente ejemplo de código muestra cómo fusionar presentaciones PPT utilizando el patrón de diapositivas deseado en Python.

import aspose.slides as slides

# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:

        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Presentación fusionada

powerpoint combinado ppt en python

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para usar Aspose.Slides for Python a través de .NET sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a fusionar presentaciones de PowerPoint PPT/PPTX en Python. Hemos cubierto varios escenarios de fusión de varias presentaciones de PowerPoint con la ayuda de ejemplos de código. Simplemente puede instalar la biblioteca y utilizar los ejemplos de código proporcionados en sus aplicaciones. En caso de que quiera explorar más sobre Aspose.Slides for Python, puede visitar la documentación. Además, puede hacer sus preguntas a través de nuestro foro.

Ver también

Información: Aspose Fusión de PowerPoint en línea es una implementación en vivo del proceso de fusión de presentaciones como un servicio.