Fusionner efficacement les présentations avec Python

Optimisez la fusion de vos présentations

Avec Aspose.Slides for Python, vous pouvez combiner sans effort des présentations PowerPoint tout en conservant les styles, les dispositions et tous les éléments. Contrairement à d’autres outils, Aspose.Slides fusionne les présentations sans compromettre la qualité ni perdre de données. Fusionnez des présentations complètes, des diapositives spécifiques, ou même différents formats de fichiers (par exemple, PPT en PPTX).

Fonctionnalités de fusion

  • Fusion complète de présentation : Assemblez toutes les diapositives dans un seul fichier.
  • Fusion de diapositives spécifiques : choisissez et combinez les diapositives sélectionnées.
  • Fusion inter‑format : intégrez des présentations de formats différents tout en conservant leur intégrité.

Fusion de présentations

Lorsque vous fusionnez une présentation avec une autre, vous combinez effectivement leurs diapositives en une seule présentation pour obtenir un unique fichier. La plupart des programmes de présentation — tels que PowerPoint ou OpenOffice — ne proposent pas de fonctionnalités permettant de fusionner les présentations de cette manière.

Cependant, Aspose.Slides for Python vous permet de fusionner les présentations de plusieurs manières. Vous pouvez fusionner les présentations avec toutes leurs formes, styles, textes, formats, commentaires et animations, sans aucune perte de qualité ou de données.

Voir aussi

Cloner des diapositives PowerPoint en Python

Ce qui peut être fusionné

Avec Aspose.Slides, vous pouvez fusionner :

  • Présentations complètes : toutes les diapositives des présentations sources sont combinées en une seule présentation.
  • Diapositives spécifiques : seules les diapositives sélectionnées sont combinées en une seule présentation.
  • Présentations du même format (par exemple, PPT→PPT, PPTX→PPTX) ou de formats différents (par exemple, PPT→PPTX, PPTX→ODP).

Options de fusion

Vous pouvez contrôler si :

  • Chaque diapositive de la présentation résultante conserve son style original, ou
  • Un style unique est appliqué à toutes les diapositives de la présentation résultante.

Pour fusionner des présentations, Aspose.Slides fournit les méthodes add_clone sur la classe SlideCollection. Ces surcharges de méthodes définissent la façon dont la fusion est effectuée. Chaque objet Presentation expose une collection slides, ainsi vous appelez add_clone sur la collection de diapositives de la présentation de destination.

La méthode add_clone renvoie un Slide — un clone de la diapositive source. Les diapositives de la présentation résultante sont des copies des originales, vous pouvez donc modifier les diapositives résultantes (par exemple appliquer des styles, du formatage ou des dispositions) sans affecter les présentations sources.

Fusionner des présentations

Aspose.Slides fournit la méthode add_clone(ISlide) qui vous permet de combiner les diapositives tout en conservant leurs dispositions et styles (en utilisant les paramètres par défaut).

L’exemple Python suivant montre comment fusionner des présentations :

import aspose.slides as slides

with slides.Presentation("presentation1.pptx") as presentation1:
    with slides.Presentation("presentation2.pptx") as presentation2:
        for slide in presentation2.slides:
            presentation1.slides.add_clone(slide)
        presentation1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Fusionner des présentations avec un maître de diapositive

Aspose.Slides fournit la méthode add_clone(ISlide, IMasterSlide, Boolean) qui vous permet de fusionner les diapositives tout en appliquant un maître de diapositive provenant d’un modèle. Ainsi, si nécessaire, vous pouvez re‑styliser les diapositives de la présentation résultante.

L’exemple Python suivant illustre cette opération :

import aspose.slides as slides

with slides.Presentation("presentation1.pptx") as presentation1:
    with slides.Presentation("presentation2.pptx") as presentation2:
        for slide in presentation2.slides:
            presentation1.slides.add_clone(slide, presentation1.masters[0], True)
        presentation1.save("combined_with_master.pptx", slides.export.SaveFormat.PPTX) 

Pour appliquer une disposition de diapositive différente aux diapositives de la présentation résultante, utilisez la méthode add_clone(ISlide, ILayoutSlide) lors de la fusion.

Fusionner des diapositives spécifiques à partir de présentations

Fusionner des diapositives spécifiques provenant de plusieurs présentations est utile lors de la création de jeux de diapositives personnalisés. Aspose.Slides vous permet de sélectionner et d’importer uniquement les diapositives dont vous avez besoin, tout en préservant le formatage, la disposition et le design des diapositives originales.

L’exemple Python suivant crée une nouvelle présentation, ajoute des diapositives de titre provenant de deux autres présentations, et enregistre le résultat dans un fichier :

def get_title_slide(pres):
    for slide in pres.slides:
        if slide.layout_slide.layout_type == slides.SlideLayoutType.TITLE:
            return slide
    return None


with slides.Presentation() as presentation, \
        slides.Presentation("presentation1.pptx") as presentation1, \
        slides.Presentation("presentation2.pptx") as presentation2:
    presentation.slides.remove_at(0)

    slide1 = get_title_slide(presentation1)
    if slide1 is not None:
        presentation.slides.add_clone(slide1)

    slide2 = get_title_slide(presentation2)
    if slide2 is not None:
        presentation.slides.add_clone(slide2)

    presentation.save("combined.pptx", slides.export.SaveFormat.PPTX)

Fusionner des présentations avec une disposition de diapositive

L’exemple Python suivant montre comment fusionner des diapositives de plusieurs présentations tout en appliquant une disposition de diapositive spécifique pour produire une présentation unique :

import aspose.slides as slides

with slides.Presentation("presentation1.pptx") as presentation1:
    with slides.Presentation("presentation2.pptx") as presentation2:
        for slide in presentation2.slides:
            presentation1.slides.add_clone(slide, presentation1.layout_slides[0])
        presentation1.save("combined_with_layout.pptx", slides.export.SaveFormat.PPTX) 

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

Pour fusionner deux présentations avec des tailles de diapositive différentes, redimensionnez d’abord l’une des présentations afin que sa taille de diapositive corresponde à celle de l’autre.

Le code d’exemple suivant démontre ce processus :

import aspose.slides as slides

with slides.Presentation("presentation1.pptx") as presentation1:
    slide_size = presentation1.slide_size.size
    with slides.Presentation("presentation2.pptx") as presentation2:
        presentation2.slide_size.set_size(slide_size.width, slide_size.height, slides.SlideSizeScaleType.ENSURE_FIT)
        for slide in presentation2.slides:
            presentation1.slides.add_clone(slide)
        presentation1.save("combined_size.pptx", slides.export.SaveFormat.PPTX) 

Fusionner des diapositives dans une section de présentation

L’exemple Python suivant montre comment fusionner une diapositive spécifique dans une section d’une présentation :

import aspose.slides as slides

with slides.Presentation("presentation1.pptx") as presentation1:
    with slides.Presentation("presentation2.pptx") as presentation2:
        for slide in presentation2.slides:
            presentation1.slides.add_clone(slide, presentation1.sections[0])
        presentation1.save("combined_sections.pptx", slides.export.SaveFormat.PPTX) 

La diapositive est ajoutée à la fin de la section.

FAQ

Les notes du présentateur sont‑elles conservées lors de la fusion ?

Oui. Lors du clonage des diapositives, Aspose.Slides transfère tous les éléments de la diapositive, y compris les notes, le formatage et les animations.

Les commentaires et leurs auteurs sont‑ils transférés ?

Les commentaires, en tant que partie du contenu de la diapositive, sont copiés avec la diapositive. Les étiquettes d’auteur des commentaires sont conservées en tant qu’objets commentaire dans la présentation résultante.

Que se passe‑t‑il si la présentation source est protégée par un mot de passe ?

Elle doit être ouverte avec le mot de passe via LoadOptions.password ; une fois chargées, ces diapositives peuvent être clonées en toute sécurité dans un fichier cible non protégé (ou également protégé).

Quelle est la sûreté d’exécution (thread‑safe) de l’opération de fusion ?

N’utilisez pas la même instance de Presentation depuis plusieurs threads. La règle recommandée est « un document — un thread » ; des fichiers différents peuvent être traités en parallèle dans des threads séparés.