Cloner des diapositives PowerPoint en Python
Aperçu
Le clonage est le processus consistant à créer une copie exacte ou une réplique de quelque chose. Aspose.Slides for Python via .NET vous permet de cloner n’importe quelle diapositive et d’insérer ce clone dans la présentation actuelle ou dans une autre présentation ouverte. Le processus de clonage crée une nouvelle diapositive que vous pouvez modifier sans affecter l’original.
Il existe plusieurs manières de cloner une diapositive :
- Cloner une diapositive à la fin dans la même présentation.
- Cloner une diapositive à une position spécifique dans la même présentation.
- Cloner une diapositive à la fin d’une autre présentation.
- Cloner une diapositive à une position spécifique dans une autre présentation.
- Cloner une diapositive avec sa diapositive maître dans une autre présentation.
Dans Aspose.Slides for Python via .NET, la collection de diapositives exposée par l’objet Presentation fournit les méthodes add_clone et insert_clone pour réaliser ces types de clonage de diapositives.
Cloner à la fin dans la même présentation
Si vous souhaitez cloner une diapositive dans la même présentation et l’ajouter à la fin des diapositives existantes, utilisez la méthode add_clone. Suivez ces étapes :
- Créez une instance de la classe Presentation.
- Récupérez la collection de diapositives depuis l’objet Presentation.
- Appelez la méthode
add_clonesur la SlideCollection, en passant la diapositive à cloner. - Enregistrez la présentation modifiée.
Dans l’exemple ci‑dessous, la première diapositive (index 0) est clonée et ajoutée à la fin de la présentation.
import aspose.slides as slides
# Instancier la classe Presentation pour représenter le fichier de présentation.
with slides.Presentation("CloneWithinSamePresentationToEnd.pptx") as presentation:
# Cloner la diapositive souhaitée à la fin de la collection de diapositives dans la même présentation.
presentation.slides.add_clone(presentation.slides[0])
# Enregistrer la présentation modifiée sur le disque.
presentation.save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", slides.export.SaveFormat.PPTX)
Cloner à une position spécifique dans la même présentation
Si vous souhaitez cloner une diapositive dans la même présentation et la placer à une position différente, utilisez la méthode insert_clone :
- Créez une instance de la classe Presentation.
- Récupérez la collection de diapositives depuis l’objet Presentation.
- Appelez la méthode
insert_clonesur la SlideCollection, en passant la diapositive à cloner et l’index cible pour sa nouvelle position. - Enregistrez la présentation modifiée.
Dans l’exemple ci‑dessus, la diapositive à l’index 0 (position 1) est clonée à l’index 1 (position 2) dans la même présentation.
import aspose.slides as slides
# Instancier la classe Presentation pour représenter le fichier de présentation.
with slides.Presentation("CloneWithInSamePresentation.pptx") as presentation:
# Cloner la diapositive souhaitée à la position spécifiée (indice) dans la même présentation.
presentation.slides.insert_clone(2, presentation.slides[1])
# Enregistrer la présentation modifiée sur le disque.
presentation.save("Aspose_CloneWithInSamePresentation_out.pptx", slides.export.SaveFormat.PPTX)
Cloner à la fin d’une autre présentation
Si vous devez cloner une diapositive d’une présentation et l’ajouter à la fin d’une autre présentation :
- Créez une instance de la classe Presentation pour la présentation source (celle contenant la diapositive à cloner).
- Créez une instance de la classe Presentation pour la présentation de destination (celle où la diapositive sera ajoutée).
- Récupérez la collection de diapositives de la présentation de destination.
- Appelez
add_clonesur la SlideCollection de destination, en passant la diapositive de la présentation source. - Enregistrez la présentation de destination modifiée.
Dans l’exemple ci‑dessous, la diapositive à l’index 0 de la présentation source est clonée à la fin de la présentation de destination.
import aspose.slides as slides
# Instancier la classe Presentation pour représenter le fichier de présentation source.
with slides.Presentation("CloneAtEndOfAnother.pptx") as source_presentation:
# Instancier la classe Presentation pour le PPTX de destination (où la diapositive sera clonée).
with slides.Presentation() as target_presentation:
# Cloner la diapositive souhaitée de la présentation source à la fin de la collection de diapositives dans la présentation de destination.
target_presentation.slides.add_clone(source_presentation.slides[0])
# Enregistrer la présentation de destination sur le disque.
target_presentation.save("Aspose2_out.pptx", slides.export.SaveFormat.PPTX)
Cloner à une position spécifique dans une autre présentation
Si vous devez cloner une diapositive d’une présentation et l’insérer dans une autre présentation à une position précise :
- Créez une instance de la classe Presentation pour la présentation source (celle contenant la diapositive à cloner).
- Créez une instance de la classe Presentation pour la présentation de destination (celle où la diapositive sera ajoutée).
- Récupérez la collection de diapositives de la présentation de destination.
- Appelez la méthode
insert_clonesur la SlideCollection de destination, en passant la diapositive de la présentation source et l’index cible souhaité. - Enregistrez la présentation de destination modifiée.
Dans l’exemple ci‑dessous, la diapositive à l’index 0 de la présentation source est clonée à l’index 1 (position 2) de la présentation de destination.
import aspose.slides as slides
# Instancier la classe Presentation pour représenter le fichier de présentation source.
with slides.Presentation("CloneAtEndOfAnother.pptx") as source_presentation:
# Instancier la classe Presentation pour le PPTX de destination (où la diapositive doit être clonée).
with slides.Presentation("Aspose2_out.pptx") as target_presentation:
# Insérer un clone de la première diapositive de la source à l'index 2 dans la présentation de destination.
target_presentation.slides.insert_clone(2, source_presentation.slides[0])
# Enregistrer la présentation de destination sur le disque.
target_presentation.save("Aspose3_out.pptx", slides.export.SaveFormat.PPTX)
Cloner une diapositive avec sa diapositive maître dans une autre présentation
Si vous devez cloner une diapositive avec son maître d’une présentation et l’utiliser dans une autre, clonez d’abord la diapositive maître requise de la présentation source dans la présentation de destination. Utilisez ensuite ce maître de destination lors du clonage de la diapositive. La méthode add_clone(Slide, MasterSlide) attend un maître de la présentation de destination, pas de la source.
Pour cloner une diapositive avec son maître, suivez ces étapes :
- Créez une instance de la classe Presentation pour la présentation source (celle contenant la diapositive à cloner).
- Créez une instance de la classe Presentation pour la présentation de destination.
- Accédez à la diapositive source à cloner et à son maître.
- Récupérez la MasterSlideCollection de la collection de maîtres de la présentation de destination.
- Appelez
add_clonesur la MasterSlideCollection de destination, en passant le maître source pour le cloner dans la destination. - Récupérez la SlideCollection de la présentation de destination.
- Appelez
add_clonesur la SlideCollection de destination, en passant la diapositive source et le maître de destination cloné. - Enregistrez la présentation de destination modifiée.
Dans l’exemple ci‑dessous, la diapositive à l’index 0 de la présentation source est clonée à la fin de la présentation de destination en utilisant le maître cloné depuis la source.
import aspose.slides as slides
# Instancier la classe Presentation pour représenter le fichier de présentation source.
with slides.Presentation("CloneToAnotherPresentationWithMaster.pptx") as source_presentation:
# Instancier la classe Presentation pour la présentation de destination où la diapositive sera clonée.
with slides.Presentation() as target_presentation:
# Obtenir la première diapositive de la présentation source.
source_slide = source_presentation.slides[0]
# Obtenir la diapositive maître utilisée par la première diapositive.
source_master = source_slide.layout_slide.master_slide
# Cloner la diapositive maître dans la collection de maîtres de la présentation de destination.
cloned_master = target_presentation.masters.add_clone(source_master)
# Cloner la diapositive de la présentation source à la fin de la présentation de destination en utilisant le maître cloné.
target_presentation.slides.add_clone(source_slide, cloned_master, True)
# Enregistrer la présentation de destination sur le disque.
target_presentation.save("CloneToAnotherPresentationWithMaster_out.pptx", slides.export.SaveFormat.PPTX)
Cloner à la fin dans une section spécifiée
Avec Aspose.Slides for Python via .NET, vous pouvez cloner une diapositive d’une section d’une présentation et l’insérer dans une autre section de la même présentation. Pour ce faire, utilisez la méthode add_clone(Slide, Section) de la classe SlideCollection.
L’exemple Python suivant montre comment cloner une diapositive et insérer le clone dans une section spécifiée :
import aspose.slides as slides
# Créer une nouvelle présentation vierge.
with slides.Presentation() as presentation:
# Ajouter une diapositive vide basée sur la mise en page de la première diapositive.
slide = presentation.slides.add_empty_slide(presentation.slides[0].layout_slide)
# Ajouter une forme ellipse à la nouvelle diapositive ; cette diapositive sera clonée plus tard.
slide.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 150, 150, 100, 100)
# Ajouter une autre diapositive vide basée sur la mise en page de la première diapositive.
slide2 = presentation.slides.add_empty_slide(presentation.slides[0].layout_slide)
# Créer une section nommée "Section2" qui commence à slide2.
section = presentation.sections.add_section("Section2", slide2)
# Cloner la diapositive créée précédemment dans la section "Section2".
presentation.slides.add_clone(slide, section)
# Enregistrer la présentation au format PPTX.
presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX)
FAQ
Les notes du présentateur et les commentaires des examinateurs sont-ils clonés ?
Oui. La page de notes et les commentaires de révision sont inclus dans le clone. Si vous ne les voulez pas, supprimez‑les après l’insertion.
Comment les graphiques et leurs sources de données sont‑ils gérés ?
L’objet graphique, son formatage et les données incorporées sont copiés. Si le graphique était lié à une source externe (par ex. un classeur OLE intégré), ce lien est conservé comme un objet OLE. Après le déplacement entre fichiers, vérifiez la disponibilité des données et le comportement de rafraîchissement.
Puis‑je contrôler la position d’insertion et les sections du clone ?
Oui. Vous pouvez insérer le clone à un indice de diapositive spécifique et le placer dans une section choisie. Si la section cible n’existe pas, créez‑la d’abord puis déplacez la diapositive dedans.