Ajouter des formes de ligne aux présentations sur Android

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éer une instance de la classe Presentation.
  • Obtenir la référence d’une diapositive en utilisant son Index.
  • Ajouter une AutoShape de type Ligne à l’aide de la méthode addAutoShape exposée par l’objet IShapeCollection.
  • Enregistrer la présentation modifiée en 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 Android 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 qu’elle ressemble à une flèche. Veuillez suivre les étapes ci‑dessous :

  • Créer une instance de la classe Presentation.
  • Obtenir la référence d’une diapositive en utilisant son Index.
  • Ajouter une AutoShape de type Ligne à l’aide de la méthode addAutoShape exposée par l’objet IShapeCollection.
  • Définir le Line Style sur l’un des styles proposés par Aspose.Slides for Android via Java.
  • Définir la largeur de la ligne.
  • Définir le Dash Style de la ligne sur l’un des styles proposés par Aspose.Slides for Android via Java.
  • Définir le Arrow Head Style et la Length du point de départ de la ligne.
  • Définir le Arrow Head Style et la Length du point d’arrivée de la ligne.
  • Enregistrer la présentation modifiée en 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 à 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));

    // Enregistrer le PPTX sur le disque
    pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Puis‑je convertir une ligne normale en connecteur afin qu’elle se « accroche » aux formes ?

Non. Une ligne normale (une AutoShape de type Line) ne devient pas automatiquement un connecteur. Pour qu’elle s’accroche aux formes, utilisez le type Connector dédié 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 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 l’édition (déplacement, redimensionnement) ?

Oui. Les formes offrent des objets de verrouillage qui vous permettent d’interdire les opérations d’édition.