Fusionner des fichiers PowerPoint en Python

Lorsque vous travaillez avec l’automatisation PowerPoint en Python, vous devrez peut-être fusionner le contenu de plusieurs présentations. Cela peut être nécessaire lorsqu’une présentation est créée par plusieurs personnes dans des parties qui doivent éventuellement être fusionnées. Pour automatiser cette fusion, cet article montre comment fusionner PowerPoint PPT ou PPTX par programmation en Python.

Bibliothèque Python pour fusionner PowerPoint PPT

Aspose.Slides for Python via .NET est une puissante bibliothèque Python pour créer et manipuler des fichiers de présentation. De plus, il offre des moyens flexibles de fusionner plusieurs présentations PPT/PPTX. Nous utiliserons cette bibliothèque pour fusionner les présentations dans cet article. Vous pouvez l’installer à partir de PyPI à l’aide de la commande pip suivante.

> pip install aspose.slides

Fusionner des présentations PowerPoint en Python

Pour fusionner les présentations PPT, vous devrez cloner les diapositives d’une présentation à l’autre. Voici les étapes pour fusionner deux fichiers PPT en Python.

  • Créez un objet de la classe Presentation pour charger la première présentation.
  • Créez un autre objet Presentation pour charger la deuxième présentation.
  • Démarrez une boucle pour parcourir les diapositives de la deuxième présentation.
  • À chaque itération, fusionnez la diapositive avec la première présentation à l’aide de la méthode Presentation.slides.addclone(ISlide).
  • Enfin, enregistrez la présentation fusionnée à l’aide de la méthode Presentation.save(String, SaveFormat).

L’exemple de code suivant montre comment fusionner deux présentations 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)

Première présentation

présentation powerpoint cible

Deuxième présentation

présentation powerpoint source à fusionner

Présentation fusionnée

powerpoint ppt fusionné en python

Fusionner des présentations avec différentes tailles de diapositives

Il est possible que les présentations que vous allez fusionner utilisent des tailles différentes pour leurs diapositives. Dans de tels cas, il est préférable de synchroniser la taille des diapositives avant de les fusionner. Voyons comment fusionner des fichiers PowerPoint PPT ayant différentes tailles de diapositives.

  • Créez un objet de la classe Presentation pour charger le premier PPT.
  • Créez un autre objet Presentation pour charger le deuxième PPT.
  • Modifiez la taille des diapositives dans le deuxième PPT à l’aide de la méthode Presentation.slidesize.setsize(int, int, SlideSizeScaleType).
  • Démarrez une boucle pour parcourir les diapositives du deuxième PPT.
  • À chaque itération, fusionnez la diapositive avec le premier PPT à l’aide de la méthode Presentation.slides.addclone(ISlide).
  • Enfin, enregistrez le PPT fusionné à l’aide de la méthode Presentation.save(String, SaveFormat).

L’exemple de code suivant montre comment fusionner des présentations PPT ayant différentes tailles de diapositives.

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)

Fusionner des diapositives PPT dans une section spécifique en Python

Vous pouvez également fusionner des diapositives PPT dans une section spécifique de la présentation cible. Pour cela, la méthode Presentation.slides.addclone(ISlide, ISection) est utilisée. L’exemple de code suivant montre comment fusionner des diapositives de la première présentation à une section particulière de la deuxième présentation.

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)

Utiliser le masque des diapositives lors de la fusion de PowerPoint PPT

Dans les sections précédentes, nous avons fusionné les diapositives en conservant la conception et le modèle du deuxième PPT. Cependant, nous devrons peut-être utiliser la mise en page de la première présentation (ou de destination) pour les diapositives clonées. Dans de tels cas, la méthode surchargée Presentation.slides.addclone(ISlide, Presentation.masters[int], allowclonemissinglayout = True) est utilisée où le deuxième paramètre définit le masque des diapositives.

L’exemple de code suivant montre comment fusionner des présentations PPT à l’aide du masque de diapositive souhaité 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)

Présentation fusionnée

powerpoint ppt combiné en python

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Slides for Python via .NET sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à fusionner des présentations PowerPoint PPT/PPTX en Python. Nous avons couvert divers scénarios de fusion de plusieurs présentations PowerPoint à l’aide d’exemples de code. Vous pouvez simplement installer la bibliothèque et utiliser les exemples de code fournis dans vos applications. Si vous souhaitez en savoir plus sur Aspose.Slides for Python, vous pouvez consulter la documentation. Vous pouvez également poser vos questions via notre forum.

Voir également

Info : Aspose gratuit fusion PowerPoint en ligne est une implémentation en direct du processus de fusion de présentation en tant que service.