Ajouter des formes de ligne aux présentations en Java
Créer une ligne simple
Pour ajouter une ligne simple à une diapositive sélectionnée de la présentation, suivez les étapes ci‑dessous :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive en utilisant son index.
- Ajoutez une AutoShape de type Line à l’aide de la méthode addAutoShape exposée par l’objet IShapeCollection.
- Enregistrez la présentation modifiée sous forme de fichier PPTX.
Dans l’exemple ci‑dessous, nous avons ajouté une ligne à la première diapositive de la présentation.
// Instancier la classe PresentationEx qui représente le fichier PPTX
Presentation pres = new Presentation();
try {
// Obtenir la première diapositive
ISlide sld = pres.getSlides().get_Item(0);
// Ajouter une AutoShape de type ligne
sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
// Écrire le PPTX sur le disque
pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Créer une ligne en forme de flèche
Aspose.Slides for Java permet également aux développeurs de configurer certaines propriétés de la ligne pour la rendre plus attrayante. Essayons de configurer quelques propriétés d’une ligne afin qu’elle ressemble à une flèche. Suivez les étapes ci‑dessous :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive en utilisant son index.
- Ajoutez une AutoShape de type Line à l’aide de la méthode addAutoShape exposée par l’objet IShapeCollection.
- Définissez le Line Style sur l’un des styles proposés par Aspose.Slides for Java.
- Définissez la largeur (Width) de la ligne.
- Définissez le Dash Style de la ligne sur l’un des styles proposés par Aspose.Slides for Java.
- Définissez le Arrow Head Style et la Length du point de départ de la ligne.
- Définissez le Arrow Head Style et la Length du point d’arrivée de la ligne.
- Enregistrez la présentation modifiée sous forme de fichier PPTX.
// Instancier la classe PresentationEx qui représente le fichier PPTX
Presentation pres = new Presentation();
try {
// Obtenir la première diapositive
ISlide sld = pres.getSlides().get_Item(0);
// Ajouter une AutoShape de type ligne
IAutoShape shp = sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
// Appliquer un formatage sur la ligne
shp.getLineFormat().setStyle(LineStyle.ThickBetweenThin);
shp.getLineFormat().setWidth(10);
shp.getLineFormat().setDashStyle(LineDashStyle.DashDot);
shp.getLineFormat().setBeginArrowheadLength(LineArrowheadLength.Short);
shp.getLineFormat().setBeginArrowheadStyle(LineArrowheadStyle.Oval);
shp.getLineFormat().setEndArrowheadLength(LineArrowheadLength.Long);
shp.getLineFormat().setEndArrowheadStyle(LineArrowheadStyle.Triangle);
shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.Maroon));
// Écrire le PPTX sur le disque
pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
Puis‑je convertir une ligne ordinaire en connecteur afin qu’elle « s’accroche » aux formes ?
Non. Une ligne ordinaire (une AutoShape de type Line) ne devient pas automatiquement un connecteur. Pour la faire accrocher aux formes, utilisez le type dédié Connector et les APIs correspondantes 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 ?
Lire les propriétés effectives via les interfaces ILineFormatEffectiveData/ILineFillFormatEffectiveData — celles‑ci 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 objets de verrouillage qui vous permettent de interdire les opérations d’édition.