Ajouter des rectangles aux présentations en PHP

Ajouter un rectangle à une diapositive

Pour ajouter un rectangle 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 IAutoShape de type Rectangle en utilisant la méthode addAutoShape exposée par l’objet IShapeCollection.
  • Enregistrer la présentation modifiée en tant que fichier PPTX.

Dans l’exemple ci‑dessous, nous avons ajouté un rectangle simple à la première diapositive de la présentation.

  # Instancier la classe Presentation qui représente le fichier PPTX
  $pres = new Presentation();
  try {
    # Obtenir la première diapositive
    $sld = $pres->getSlides()->get_Item(0);
    # Ajouter une AutoShape de type ellipse
    $shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
    # Enregistrer le fichier PPTX sur le disque
    $pres->save("RecShp1.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Ajouter un rectangle formaté à une diapositive

Pour ajouter un rectangle formaté à une diapositive, 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 IAutoShape de type Rectangle en utilisant la méthode addAutoShape exposée par l’objet IShapeCollection.
  • Définir le Fill Type du Rectangle sur Solid.
  • Définir la couleur du Rectangle en utilisant la méthode SolidFillColor.setColor exposée par l’objet IFillFormat associé à l’objet IShape.
  • Définir la couleur des lignes du Rectangle.
  • Définir la largeur des lignes du Rectangle.
  • Enregistrer la présentation modifiée en tant que fichier PPTX.

Les étapes ci‑dessus sont implémentées dans l’exemple présenté ci‑dessous.

  # Instancier la classe Presentation qui représente le PPTX
  $pres = new Presentation();
  try {
    # Obtenir la première diapositive
    $sld = $pres->getSlides()->get_Item(0);
    # Ajouter une AutoShape de type ellipse
    $shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
    # Appliquer un formatage à la forme d'ellipse
    $shp->getFillFormat()->setFillType(FillType::Solid);
    $shp->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GRAY);
    # Appliquer un formatage à la bordure de l'ellipse
    $shp->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
    $shp->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    $shp->getLineFormat()->setWidth(5);
    # Enregistrer le fichier PPTX sur le disque
    $pres->save("RecShp2.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Comment ajouter un rectangle avec des coins arrondis ?

Utilisez le type de forme à coins arrondis et ajustez le rayon des coins dans les propriétés de la forme ; l’arrondi peut également être appliqué coin par coin via des ajustements géométriques.

Comment remplir un rectangle avec une image (texture) ?

Sélectionnez le type de remplissage image, fournissez la source de l’image et configurez les modes d’étirement/tiling.

Un rectangle peut‑il avoir une ombre et une lueur ?

Oui. Les ombres externes/intérieures, lueur et bords doux sont disponibles avec des paramètres réglables.

Puis‑je transformer un rectangle en bouton avec un hyperlien ?

Oui. Attribuez un hyperlien au clic sur la forme (aller à une diapositive, fichier, adresse web ou e‑mail).

Comment protéger un rectangle contre le déplacement et les modifications ?

Utilisez les verrous de forme : vous pouvez interdire le déplacement, le redimensionnement, la sélection ou l’édition de texte afin de préserver la mise en page.

Puis‑je convertir un rectangle en image raster ou SVG ?

Oui. Vous pouvez rendre la forme en image avec une taille/échelle spécifiée ou l’exporter en SVG pour une utilisation vectorielle.

Comment obtenir rapidement les propriétés réelles (effectives) d’un rectangle en tenant compte du thème et de l’héritage ?

Utilisez les propriétés effectives de la forme : l’API renvoie les valeurs calculées qui tiennent compte des styles du thème, de la disposition et des paramètres locaux, simplifiant l’analyse du formatage.