Ajouter des formes de ligne aux présentations en JavaScript
Créer une ligne simple
Pour ajouter une ligne simple à une diapositive sélectionnée de la présentation, veuillez suivre 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 ShapeCollection.
- 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.
// Instancie la classe PresentationEx qui représente le fichier PPTX
var pres = new aspose.slides.Presentation();
try {
// Récupère la première diapositive
var sld = pres.getSlides().get_Item(0);
// Ajoute une AutoShape de type ligne
sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
// Enregistre le PPTX sur le disque
pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Créer une ligne en forme de flèche
Aspose.Slides for Node.js via 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 afin que la ligne ressemble à une flèche. Veuillez suivre 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 ShapeCollection.
- Définissez le Line Style sur l’un des styles proposés par Aspose.Slides for Node.js via Java.
- Définissez la largeur de la ligne.
- Définissez le Dash Style de la ligne sur l’un des styles proposés par Aspose.Slides for Node.js via 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.
// Instancie la classe PresentationEx qui représente le fichier PPTX
var pres = new aspose.slides.Presentation();
try {
// Récupère la première diapositive
var sld = pres.getSlides().get_Item(0);
// Ajoute une AutoShape de type ligne
var shp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
// Applique un certain format à la ligne
shp.getLineFormat().setStyle(aspose.slides.LineStyle.ThickBetweenThin);
shp.getLineFormat().setWidth(10);
shp.getLineFormat().setDashStyle(aspose.slides.LineDashStyle.DashDot);
shp.getLineFormat().setBeginArrowheadLength(aspose.slides.LineArrowheadLength.Short);
shp.getLineFormat().setBeginArrowheadStyle(aspose.slides.LineArrowheadStyle.Oval);
shp.getLineFormat().setEndArrowheadLength(aspose.slides.LineArrowheadLength.Long);
shp.getLineFormat().setEndArrowheadStyle(aspose.slides.LineArrowheadStyle.Triangle);
shp.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(java.newInstanceSync("java.awt.Color", aspose.slides.PresetColor.Maroon));
// Enregistre le PPTX sur le disque
pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
FAQ
Puis‑je convertir une ligne ordinaire en connecteur afin qu’elle « s’ajuste » aux formes ?
Non. Une ligne ordinaire (une AutoShape de type Line) ne devient pas automatiquement un connecteur. Pour qu’elle s’ajuste aux formes, utilisez le type dédié Connector et les API 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 ?
Lisez les propriétés effectives via les classes ILineFormatEffectiveData/ILineFillFormatEffectiveData — elles 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 fournissent des objets de verrouillage qui vous permettent d’interdire les opérations de modification.