Ajouter des formes de ligne aux présentations en PHP

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éer une instance de la classe Presentation.
  • Obtenir la référence d’une diapositive en utilisant son Index.
  • Ajouter un AutoShape de type Ligne en utilisant la méthode addAutoShape exposée par l’objet IShapeCollection.
  • Enregistrer 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
  $pres = new Presentation();
  try {
    # Obtenir la première diapositive
    $sld = $pres->getSlides()->get_Item(0);
    # Ajouter un AutoShape de type ligne
    $sld->getShapes()->addAutoShape(ShapeType::Line, 50, 150, 300, 0);
    # Enregistrer le PPTX sur le disque
    $pres->save("LineShape.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Créer une ligne en forme de flèche

Aspose.Slides for PHP 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 d’une ligne pour qu’elle ressemble à une flèche. Veuillez suivre les étapes ci‑dessous pour ce faire :

  • Créer une instance de la classe Presentation.
  • Obtenir la référence d’une diapositive en utilisant son Index.
  • Ajouter un AutoShape de type Ligne en utilisant 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 PHP 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 PHP 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 sous forme de fichier PPTX.
  # Instancier la classe PresentationEx qui représente le fichier PPTX
  $pres = new Presentation();
  try {
    # Obtenir la première diapositive
    $sld = $pres->getSlides()->get_Item(0);
    # Ajouter un AutoShape de type ligne
    $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 java("java.awt.Color", PresetColor->Maroon));
    # Enregistrer le PPTX sur le disque
    $pres->save("LineShape.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Puis‑je convertir une ligne ordinaire en connecteur pour qu’elle s’ajuste aux formes ?

Non. Une ligne ordinaire (un AutoShape de type Line) ne devient pas automatiquement un connecteur. Pour qu’elle s’ajuste 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 ?

Lire les propriétés effectives via les LineFormatEffectiveData/LineFillFormatEffectiveData — 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 offrent des lock objects qui vous permettent d’interdire les opérations de modification.