Animer les graphiques PowerPoint en Python
Aspose.Slides for Python via .NET prend en charge l’animation des éléments du graphique. Series, Categories, Series Elements, Categories Elements peuvent être animés avec la méthode ISequence.AddEffect et deux énumérations EffectChartMajorGroupingType et EffectChartMinorGroupingType.
Animation de séries de graphiques
Si vous souhaitez animer une série de graphique, écrivez le code selon les étapes décrites ci-dessous :
- Charger une présentation.
- Obtenir la référence de l’objet graphique.
- Animer la série.
- Enregistrer le fichier de présentation sur le disque.
Dans l’exemple ci-dessous, nous avons animé des séries de graphique.
import aspose.slides.animation as anim;
import aspose.slides as slides
# Instancier la classe Presentation qui représente un fichier de présentation
with slides.Presentation(path + "ExistingChart.pptx") as presentation:
# Obtenir la référence de l'objet graphique
slide = presentation.slides[0]
shapes = slide.shapes
chart = shapes[0]
# Animer la série
slide.timeline.main_sequence.add_effect(chart,
anim.EffectType.FADE,
anim.EffectSubtype.NONE,
anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart,
anim.EffectChartMajorGroupingType.BY_SERIES, 0,
anim.EffectType.APPEAR,
anim.EffectSubtype.NONE,
anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart,
anim.EffectChartMajorGroupingType.BY_SERIES, 1,
anim.EffectType.APPEAR,
anim.EffectSubtype.NONE,
anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart,
anim.EffectChartMajorGroupingType.BY_SERIES, 2,
anim.EffectType.APPEAR,
anim.EffectSubtype.NONE,
anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart,
anim.EffectChartMajorGroupingType.BY_SERIES, 3,
anim.EffectType.APPEAR,
anim.EffectSubtype.NONE,
anim.EffectTriggerType.AFTER_PREVIOUS)
# Enregistrer la présentation modifiée sur le disque
presentation.save("AnimatingSeries_out.pptx", slides.export.SaveFormat.PPTX)
Animation de catégories de graphique
Si vous souhaitez animer une catégorie de graphique, écrivez le code selon les étapes décrites ci-dessous :
- Charger une présentation.
- Obtenir la référence de l’objet graphique.
- Animer la catégorie.
- Enregistrer le fichier de présentation sur le disque.
Dans l’exemple ci-dessous, nous avons animé la catégorie du graphique.
import aspose.slides.animation as anim;
import aspose.slides as slides
with slides.Presentation(path + "ExistingChart.pptx") as presentation:
# Obtenir la référence de l'objet graphique
slide = presentation.slides[0]
shapes = slide.shapes
chart = shapes[0]
# Animer les éléments des catégories
slide.timeline.main_sequence.add_effect(chart, anim.EffectType.FADE, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
# Enregistrer le fichier de présentation sur le disque
presentation.save("AnimatingCategoriesElements_out.pptx", slides.export.SaveFormat.PPTX)
Animation d’un élément de série
Si vous souhaitez animer des éléments de série, écrivez le code selon les étapes décrites ci-dessous :
- Charger une présentation.
- Obtenir la référence de l’objet graphique.
- Animer les éléments de la série.
- Enregistrer le fichier de présentation sur le disque.
Dans l’exemple ci-dessous, nous avons animé les éléments de la série.
import aspose.slides.animation as anim;
import aspose.slides as slides
# Charger une présentation
with slides.Presentation(path + "ExistingChart.pptx") as presentation:
# Obtenir la référence de l'objet graphique
slide = presentation.slides[0]
shapes = slide.shapes
chart = shapes[0]
# Animer les éléments de série
slide.timeline.main_sequence.add_effect(chart, anim.EffectType.FADE, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 0, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 0, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 0, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 0, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 1, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 1, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 1, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 1, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 2, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 2, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 2, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_SERIES, 2, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
# Enregistrer le fichier de présentation sur le disque
presentation.save("AnimatingSeriesElements_out.pptx", slides.export.SaveFormat.PPTX)
Animation d’un élément de catégorie
Si vous souhaitez animer des éléments de catégorie, écrivez le code selon les étapes décrites ci-dessous :
- Charger une présentation.
- Obtenir la référence de l’objet graphique.
- Animer les éléments de catégorie.
- Enregistrer le fichier de présentation sur le disque.
Dans l’exemple ci-dessous, nous avons animé les éléments de catégorie.
import aspose.slides.animation as anim;
import aspose.slides as slides
with slides.Presentation(path + "ExistingChart.pptx") as presentation:
# Obtenir la référence de l'objet graphique
slide = presentation.slides[0]
shapes = slide.shapes
chart = shapes[0]
# Animer les éléments des catégories
slide.timeline.main_sequence.add_effect(chart, anim.EffectType.FADE, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 0, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 1, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 0, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 1, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 2, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
slide.timeline.main_sequence.add_effect(chart, anim.EffectChartMinorGroupingType.BY_ELEMENT_IN_CATEGORY, 2, 3, anim.EffectType.APPEAR, anim.EffectSubtype.NONE, anim.EffectTriggerType.AFTER_PREVIOUS)
# Enregistrer le fichier de présentation sur le disque
presentation.save("AnimatingCategoriesElements_out.pptx", slides.export.SaveFormat.PPTX)
FAQ
Les différents types d’effets (par ex., entrée, accentuation, sortie) sont-ils pris en charge pour les graphiques comme pour les formes ordinaires ?
Oui. Un graphique est considéré comme une forme, il prend donc en charge les types d’effets d’animation standard, y compris l’entrée, l’accentuation et la sortie, avec un contrôle complet via la chronologie de la diapositive et les séquences d’animation.
Puis-je combiner l’animation de graphiques avec les transitions de diapositive ?
Oui. Les Transitions s’appliquent à la diapositive, tandis que les effets d’animation s’appliquent aux objets de la diapositive. Vous pouvez les utiliser ensemble dans la même présentation et les contrôler indépendamment.
Les animations de graphiques sont-elles conservées lors de l’enregistrement au format PPTX ?
Oui. Lorsque vous enregistrez au format PPTX, tous les effets d’animation et leur ordre sont conservés car ils font partie du modèle d’animation natif de la présentation.
Puis-je lire les animations de graphiques existantes d’une présentation et les modifier ?
Oui. L'API donne accès à la chronologie de la diapositive, aux séquences et aux effets, permettant d’inspecter les animations de graphiques existantes et de les ajuster sans tout recréer.
Puis-je créer une vidéo incluant les animations de graphiques avec Aspose.Slides for Python via .NET ?
Oui. Vous pouvez exporter une présentation en vidéo tout en conservant les animations, en configurant les durées et les autres paramètres d’exportation afin que le clip résultant reflète la lecture animée.