Créer des formes de ligne dans les présentations avec Python
Vue d’ensemble
Aspose.Slides for Python via .NET prend en charge l’ajout de différents types de formes aux diapositives. Dans ce sujet, nous allons commencer à travailler avec les formes en ajoutant des lignes aux diapositives. Avec Aspose.Slides, les développeurs peuvent non seulement créer des lignes simples, mais aussi dessiner des lignes sophistiquées sur les diapositives.
Créer des lignes simples
Utilisez Aspose.Slides pour ajouter une ligne simple à une diapositive en tant que séparateur ou connecteur simple. Pour ajouter une ligne simple à une diapositive sélectionnée dans une présentation, suivez les étapes suivantes :
- Créez une instance de la classe Presentation.
- Obtenez une référence à la diapositive par indice.
- Ajoutez un AutoShape de type
LINEen utilisant la méthodeadd_auto_shapesur l’objet ShapeCollection. - Enregistrez la présentation au format PPTX.
Dans l’exemple ci-dessous, une ligne est ajoutée à la première diapositive de la présentation.
import aspose.slides as slides
# Instanciez la classe Presentation.
with slides.Presentation() as presentation:
# Obtenez la première diapositive.
slide = presentation.slides[0]
# Ajoutez une forme auto de type LINE.
slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
# Enregistrez la présentation au format PPTX.
presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX)
Créer des lignes en forme de flèche
Aspose.Slides vous permet de configurer les propriétés des lignes pour les rendre plus attrayantes visuellement. Ci‑dessous, nous configurons quelques propriétés d’une ligne afin qu’elle ressemble à une flèche. Suivez les étapes suivantes :
- Créez une instance de la classe Presentation.
- Obtenez une référence à une diapositive par indice.
- Ajoutez un AutoShape de type
LINEen utilisant la méthodeadd_auto_shapesur l’objet ShapeCollection. - Définissez le line style.
- Définissez la largeur de la ligne.
- Définissez le dash style de la ligne.
- Définissez le arrowhead style et la longueur pour le point de départ de la ligne.
- Définissez le style de tête de flèche et la longueur pour le point d’arrivée de la ligne.
- Enregistrez la présentation au format PPTX.
import aspose.slides as slides
import aspose.pydrawing as draw
# Instanciez la classe Presentation qui représente le fichier PPTX.
with slides.Presentation() as presentation:
# Obtenez la première diapositive.
slide = presentation.slides[0]
# Ajoutez une forme auto de type LINE.
shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
# Appliquez le formatage à la ligne.
shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN
shape.line_format.width = 10
shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT
shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT
shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL
shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG
shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE
shape.line_format.fill_format.fill_type = slides.FillType.SOLID
shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon
# Enregistrez la présentation au format PPTX.
presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX)
FAQ
Puis-je convertir une ligne normale en connecteur afin qu’elle s’aligne automatiquement aux formes ?
Non. Une ligne normale (un AutoShape de type LINE) ne devient pas automatiquement un connecteur. Pour qu’elle s’aligne aux formes, utilisez le type dédié Connector ainsi que les corresponding APIs pour les connexions.
Que faire si les propriétés d’une ligne sont héritées du thème et qu’il est difficile de déterminer les valeurs finales ?
Lisez les propriétés effectives via les classes ILineFormatEffectiveData/ILineFillFormatEffectiveData qui tiennent déjà compte de l’héritage et des styles du thème.
Puis-je verrouiller une ligne contre la modification (déplacement, redimensionnement) ?
Oui. Les formes offrent des lock objects qui vous permettent de disallow editing operations.