Créer des miniatures de formes de présentation en Python

Introduction

Aspose.Slides for Python via .NET est utilisé pour créer des fichiers de présentation dans lesquels chaque page est une diapositive. Vous pouvez visualiser ces diapositives dans Microsoft PowerPoint en ouvrant le fichier de présentation. Cependant, les développeurs peuvent parfois avoir besoin de visualiser les images des formes séparément dans un visualiseur d’images. Dans ces cas, Aspose.Slides peut générer des images miniatures pour les formes de diapositive. Cet article explique comment utiliser cette fonctionnalité.

Générer des miniatures de forme à partir de diapositives

Lorsque vous avez besoin d’un aperçu d’un objet spécifique plutôt que de la diapositive entière, vous pouvez rendre une miniature pour une forme individuelle. Aspose.Slides vous permet d’exporter n’importe quelle forme vers une image, facilitant la création d’aperçus légers, d’icônes ou d’actifs pour le traitement en aval.

Pour générer une miniature à partir de n’importe quelle forme :

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence à une diapositive par son identifiant ou son index.
  3. Obtenez une référence à une forme sur cette diapositive.
  4. Rendez l’image miniature de la forme.
  5. Enregistrez l’image miniature au format souhaité.

L’exemple ci‑dessous génère une miniature de forme.

import aspose.slides as slides

# Instancier la classe Presentation pour ouvrir le fichier de présentation.
with slides.Presentation("hello_world.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]
    
    # Créer une image avec l'échelle par défaut.
    with shape.get_image() as thumbnail:
        # Enregistrer l'image sur le disque au format PNG.
        thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG)

Générer des miniatures avec un facteur d’échelle personnalisé

Cette section montre comment générer des miniatures de forme avec un facteur d’échelle défini par l’utilisateur dans Aspose.Slides. En contrôlant l’échelle, vous pouvez ajuster la taille de la miniature pour les aperçus, les exportations ou les affichages haute résolution.

Pour générer une miniature pour n’importe quelle forme sur une diapositive :

  1. Créez une instance de la classe Presentation .
  2. Obtenez une diapositive par son identifiant ou son index.
  3. Obtenez la forme cible sur cette diapositive.
  4. Rendez l’image miniature de la forme avec l’échelle spécifiée.
  5. Enregistrez l’image miniature au format souhaité.

L’exemple ci‑dessous génère une miniature avec un facteur d’échelle défini par l’utilisateur.

import aspose.slides as slides

scale_x = 2.0
scale_y = scale_x

# Instancier la classe Presentation pour ouvrir le fichier de présentation.
with slides.Presentation("hello_world.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]
    
    # Créer une image avec l'echelle définie.
    with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail:
        # Enregistrer l'image sur le disque au format PNG.
        thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG)

Générer des miniatures en utilisant les limites d’apparence d’une forme

Cette section montre comment générer une miniature à l’intérieur des limites d’apparence d’une forme. Elle tient compte de tous les effets de forme. La miniature générée est limitée par les limites de la diapositive.

Pour générer une miniature de n’importe quelle forme de diapositive à l’intérieur des limites de son apparence :

  1. Créez une instance de la classe Presentation .
  2. Obtenez une diapositive par son identifiant ou son index.
  3. Obtenez la forme cible sur cette diapositive.
  4. Rendez l’image miniature de la forme avec les limites spécifiées.
  5. Enregistrez l’image miniature au format d’image souhaité.

L’exemple ci‑dessous crée une miniature avec des limites définies par l’utilisateur.

import aspose.slides as slides

image_bounds = slides.ShapeThumbnailBounds.APPEARANCE

# Instancier la classe Presentation pour ouvrir le fichier de présentation.
with slides.Presentation("hello_world.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]

    # Créer une image de forme avec les limites d'apparence.
    with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail:
        # Enregistrer l'image sur le disque au format PNG.
        thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG)

FAQ

Quels formats d’image peuvent être utilisés lors de l’enregistrement des miniatures de forme ?

PNG, JPEG, BMP, GIF, TIFF, et d’autres. Les formes peuvent également être exportées en tant que SVG vectoriel en enregistrant le contenu de la forme au format SVG.

Quelle est la différence entre les limites SHAPE et APPEARANCE lors du rendu d’une miniature ?

SHAPE utilise la géométrie de la forme ; APPEARANCE prend en compte les effets visuels (ombres, lueurs, etc.).

Que se passe‑t‑il si une forme est marquée comme masquée ? Sera‑t‑elle toujours rendue en miniature ?

Une forme masquée reste partie du modèle et peut être rendue ; le drapeau masqué affecte l’affichage du diaporama mais n’empêche pas la génération de l’image de la forme.

Les formes groupées, les graphiques, SmartArt et autres objets complexes sont‑ils pris en charge ?

Oui. Tout objet représenté comme Shape (y compris GroupShape, Chart, et SmartArt) peut être enregistré en tant que miniature ou en tant que SVG.

Les polices installées sur le système affectent‑elles la qualité des miniatures des formes texte ?

Oui. Vous devez fournir les polices requises (ou configurer les substitutions de polices) pour éviter les reprises de police indésirables et le reclassement du texte.