Différents types de diagrammes sont utilisés dans les présentations PowerPoint pour rendre le contenu plus élaboré. Ces diagrammes sont composés de différentes formes telles que des ellipses, des lignes, des rectangles et des connecteurs. Dans cet article, vous apprendrez à ajouter, cloner et supprimer des formes dans des diapositives PowerPoint par programmation en Python.
- Bibliothèque Python pour travailler avec des formes PowerPoint
- Types de formes PowerPoint
- Ajouter une forme aux diapositives PowerPoint
- Ajouter un connecteur aux formes dans PowerPoint
- Cloner une forme dans des diapositives PowerPoint
- Supprimer les formes des diapositives PowerPoint
Bibliothèque Python pour travailler avec des formes PowerPoint
Aspose.Slides for Python via .NET est conçu pour créer et manipuler des présentations PowerPoint à partir des applications Python. Nous utiliserons cette bibliothèque pour travailler avec des formes dans des diapositives PowerPoint. Vous pouvez l’installer à partir de PyPI à l’aide de la commande pip suivante.
> pip install aspose.slides
Types de formes dans PowerPoint
Vous pouvez créer une variété de formes dans les présentations PowerPoint en utilisant Aspose.Slides for Python. Les formes les plus couramment utilisées incluent :
Ajouter une forme aux diapositives PowerPoint en Python
Pour ajouter n’importe quelle forme, y compris ellipse, ligne, rectangle, la méthode addautoshape (ShapeType, Single, Single, Single, Single) est utilisée à laquelle vous pouvez transmettre le type de la forme et d’autres paramètres nécessaires. L’énumération ShapeType est utilisée pour spécifier le type de la forme. Voici les étapes pour ajouter une forme à une diapositive PowerPoint en Python.
- Créez une présentation ou chargez-en une existante à l’aide de la classe Presentation.
- Obtenez la référence de la diapositive souhaitée à partir de la collection Presentation.slides.
- Ajoutez une ellipse (ou toute autre forme) à l’aide de la méthode addautoshape(ShapeType, Single, Single, Single, Single).
- Enregistrez la présentation à l’aide de la méthode Presentation.save(String, SaveFormat).
L’exemple de code suivant montre comment ajouter une forme à une diapositive PowerPoint en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create a new presentation
with slides.Presentation() as pres:
# Get the first slide
sld = pres.slides[0]
# Add auto shape of ellipse type
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)
# Apply some formatting to ellipse shape
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = drawing.Color.pink
# Apply some formatting to the line of Ellipse
shp.line_format.fill_format.fill_type = slides.FillType.SOLID
shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
shp.line_format.width = 5
# Save the PPTX file to disk
pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)
Voici l’ellipse que nous avons ajoutée à l’aide de l’exemple de code ci-dessus.
Connecter des formes PowerPoint avec un connecteur en Python
Dans les diagrammes, différentes formes sont reliées les unes aux autres à l’aide d’une ligne appelée connecteur. Un connecteur peut être une ligne droite ou courbe. Voyons comment ajouter un connecteur entre deux formes PowerPoint en Python.
- Commencez par créer une instance de la classe Presentation pour créer ou charger une présentation.
- Ensuite, obtenez la référence d’une diapositive à l’aide de la collection Presentation.slides.
- Ajoutez deux formes comme vous l’avez ajouté dans la section précédente et obtenez leurs références.
- Créez un connecteur à l’aide de la méthode addconnector(ShapeType, Single, Single, Single, Single).
- Joignez les formes à l’aide des propriétés Connector.startshapeconnectedto et Connector.endshapeconnectedto.
- Appelez la méthode Connector.reroute() pour créer le chemin de connexion automatique le plus court.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).
L’exemple de code suivant montre comment connecter des formes dans une diapositive PowerPoint en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation
with slides.Presentation() as presentation:
# Access shapes collection for selected slide
shapes = presentation.slides[0].shapes
# Add ellipse
ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)
# Add auto shape rectangle
rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)
# Add connector to connect shapes
connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)
# Join shapes using connector
connector.start_shape_connected_to = ellipse
connector.end_shape_connected_to = rectangle
# Call reroute to set the automatic shortest path between shapes
connector.reroute()
# Save presenation
presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)
Voici la capture d’écran de la présentation après avoir connecté des formes avec un connecteur.
Cloner des formes PowerPoint en Python
Parfois, vous choisissez de cloner des formes au lieu d’en créer une nouvelle. Pour y parvenir, Aspose.Slides prend en charge le clonage de forme. Voici les étapes pour cloner une forme dans PowerPoint à l’aide de Python.
- Tout d’abord, utilisez la classe Presentation pour charger le fichier de présentation.
- Obtenir la référence d’une diapositive de la collection Presentation.slides.
- Accédez aux formes de diapositives source et de destination à partir de la collection ISlide.shapes.
- Clonez les formes de la collection de formes de diapositive source vers la diapositive de destination à l’aide de la méthode addclone().
- Enfin, enregistrez le fichier de présentation mis à jour.
L’exemple de code suivant montre comment cloner des formes dans des diapositives PowerPoint en Python.
import aspose.slides as slides
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Access shapes of the source slide
sourceShapes = presentation.slides[0].shapes
# Add a new blank slide
blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
destSlide = presentation.slides.add_empty_slide(blankLayout)
# Access shapes of destination slide
destShapes = destSlide.shapes
# Clone shapes
destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
destShapes.add_clone(sourceShapes[0])
destShapes.insert_clone(0, sourceShapes[0], 50, 150)
# Save file
presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)
Supprimer les formes des diapositives PowerPoint en Python
Vous pouvez également supprimer des formes des présentations PowerPoint en suivant les étapes ci-dessous.
- Créez une instance de la classe Presentation pour charger le fichier PPT/PPTX.
- Accédez à la diapositive souhaitée à partir de la collection Presentation.slides.
- Filtrez la forme souhaitée avec un texte spécifique à l’aide de la propriété IShape.alternativetext.
- Supprimez la forme à l’aide de la méthode ISlide.shapes.remove(IShape).
- Enfin, enregistrez le fichier de présentation mis à jour.
L’exemple de code suivant montre comment supprimer des formes d’une diapositive PowerPoint en Python.
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Get the first slide
sld = presentation.slides[0]
alttext = "User Defined"
# Loop through shapes
for i in range(len(sld.shapes)):
# Find shape by alternative text
ashp = sld.shapes[0]
if ashp.alternative_text == alttext:
sld.shapes.remove(ashp)
# Save file
presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Slides for Python sans limitation d’évaluation.
Conclusion
MS PowerPoint prend en charge une gamme de formes pour créer différents types de diagrammes tels que des organigrammes. Dans cet article, nous avons expliqué comment créer des formes PowerPoint telles que des ellipses, des rectangles et les connecter à l’aide de connecteurs en Python. De plus, vous avez appris à cloner et à supprimer par programme des formes dans des diapositives PowerPoint. Vous pouvez en savoir plus sur Aspose.Slides for Python en utilisant la documentation. N’hésitez pas non plus à nous faire part de vos questions via notre forum.