Rendre les animations PowerPoint image par image vous permet d’exporter chaque instant d’une transition de diapositive sous forme d’image. Cela est utile pour créer des séquences vidéo, générer des vignettes ou effectuer une analyse personnalisée du timing des animations. Dans ce guide, vous apprendrez comment rendre les animations PowerPoint image par image en Python. Nous montrerons comment Aspose.Slides for Python via .NET simplifie la lecture d’une diapositive, la réception d’un rappel pour chaque image rendue, et l’enregistrement de ces images au format PNG fichiers.
Points clés
- Aspose.Slides for Python via .NET fournit un modèle d’événements de style .NET qui fonctionne nativement en Python.
PresentationAnimationsGeneratorcrée une chronologie rendable tandis quePresentationPlayergère la lecture.- En gérant l’événement
frame_tick, vous pouvez capturer chaque image et la sauvegarder sous forme de fichier image. - Cette approche fonctionne sur n’importe quelle plateforme prise en charge par .NET Core et ne nécessite pas d’environnement Windows uniquement.
- Vous pouvez contrôler la vitesse de lecture via l’argument FPS passé à
PresentationPlayer.
Pourquoi rendre l’animation PowerPoint image par image
Les développeurs ont souvent besoin d’une représentation pixel‑perfect d’une animation pour la publication, les tests ou l’archivage. Les exportations traditionnelles slide‑to‑image ne capturent que la diapositive statique, perdant ainsi le contenu dynamique. Le rendu frame‑by‑frame préserve la séquence d’animation, vous permettant de créer des pipelines vidéo personnalisés ou des audits visuels détaillés sans enregistrement d’écran manuel.
Démarrer avec Aspose.Slides for Python via .NET
Aspose.Slides for Python via .NET est un package pure‑Python qui encapsule la bibliothèque complète .NET Slides. Installez‑le depuis PyPI :
pip install aspose-slides
Pour plus d’informations sur le produit, visitez la page produit Aspose.Slides.
Tutoriel pas à pas : rendre les images d’animation
Voici un exemple complet et exécutable qui démontre l’ensemble du flux de travail.
Entrée → Sortie
Input: empty presentation (slides are created in code)
Output: frame_0000.png, frame_0001.png, ... saved to the working directory
Library: Aspose.Slides for Python via .NET
Language: Python
1. Créer une présentation et ajouter une forme animée
La première étape crée une diapositive simple avec un rectangle qui apparaît progressivement après l’action précédente.
import aspose.slides as slides
from aspose.slides.animation import EffectType, EffectSubtype, EffectTriggerType
from aspose.slides.export import PresentationAnimationsGenerator, PresentationPlayer
FPS = 30
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Add a rectangle shape
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 200, 100)
# Attach a fade‑in effect that starts automatically
slide.timeline.main_sequence.add_effect(
shape, EffectType.FADE, EffectSubtype.NONE, EffectTriggerType.AFTER_PREVIOUS)
2. Définir le gestionnaire d’événement Frame‑tick
PresentationPlayer lève un événement frame_tick pour chaque image rendue. Le gestionnaire reçoit l’image de la trame et l’enregistre.
def on_frame_tick(sender, args):
# `args.get_frame()` returns an IImage that can be saved directly
with args.get_frame() as frame:
frame.save("frame_{0:04d}.png".format(sender.frame_index))
3. Exécuter le générateur d’animation et le lecteur
Créez un PresentationAnimationsGenerator pour la présentation, puis pilotez la lecture avec PresentationPlayer. La valeur FPS contrôle le nombre d’images émises par seconde.
with PresentationAnimationsGenerator(presentation) as generator:
with PresentationPlayer(generator, FPS) as player:
player.frame_tick += on_frame_tick
# Start the animation; frames are saved by the event handler above
generator.run(presentation.slides)
Lorsque le script se termine, le répertoire de travail contient une séquence de fichiers PNG (frame_0000.png, frame_0001.png, …) représentant chaque image d’animation.
Conclusion
Aspose.Slides for Python via .NET vous permet de lire programmétiquement l’animation d’une diapositive et de capturer chaque image sous forme d’image en utilisant un modèle d’événements familier. En ajustant le FPS et en personnalisant le gestionnaire d’événements, vous pouvez générer des séquences d’images de haute qualité pour n’importe quelle animation, permettant des scénarios en aval tels que la création de vidéos, les tests automatisés ou la documentation visuelle.
FAQs
Ai‑je besoin d’une machine Windows pour exécuter ce code ? Non. Aspose.Slides for Python via .NET fonctionne sur n’importe quelle plateforme prise en charge par .NET Core, y compris Windows, macOS et Linux.
Puis-je capturer des images d’une présentation à plusieurs diapositives ? Oui. Parcourez les diapositives souhaitées et invoquez la même logique de générateur/lecteur pour chaque diapositive.
Dans quel format d’image les images sont‑elles enregistrées ? L’exemple enregistre chaque image dans un fichier PNG, mais vous pouvez changer l’extension dans l’appel à
frame.save()pour produire du JPEG, BMP, etc.Existe-t-il un moyen de contrôler le taux de rafraîchissement ? Le paramètre FPS (images par seconde) est passé au constructeur
PresentationPlayer; ajustez-le pour changer le nombre d’images générées par seconde.Ai‑je besoin d’une licence payante pour exécuter cet exemple ? Le code s’exécute avec une licence d’évaluation temporaire ; pour une utilisation en production, vous devez obtenir une licence permanente d’Aspense.
Les images générées incluront‑elles l’arrière‑plan des diapositives et d’autres objets ? Chaque image capturée reflète l’état visuel exact de la diapositive à ce moment‑là, y compris les arrière‑plans, les formes et les effets d’animation.
Obtenez une licence gratuite et explorez davantage
Commencez à expérimenter Aspose.Slides for Python via .NET dès aujourd’hui en demandant une licence temporaire:
Ressources supplémentaires :
