Formes de présentation groupées en PHP

Ajouter une forme groupée

Aspose.Slides prend en charge le travail avec les formes groupées sur les diapositives. Cette fonctionnalité aide les développeurs à créer des présentations plus riches. Aspose.Slides for PHP via Java prend en charge l’ajout ou l’accès aux formes groupées. Il est possible d’ajouter des formes à une forme groupée ajoutée pour la remplir ou d’accéder à n’importe quelle propriété de la forme groupée. Pour ajouter une forme groupée à une diapositive en utilisant Aspose.Slides for PHP via Java :

  1. Créer une instance de la classe Presentation.
  2. Obtenir la référence d’une diapositive en utilisant son index.
  3. Ajouter une forme groupée à la diapositive.
  4. Ajouter les formes à la forme groupée ajoutée.
  5. Enregistrer la présentation modifiée sous forme de fichier PPTX.

L’exemple ci-dessous ajoute une forme groupée à une diapositive.

  # Instancier la classe Presentation
  $pres = new Presentation();
  try {
    # Obtenir la première diapositive
    $sld = $pres->getSlides()->get_Item(0);
    # Accéder à la collection de formes des diapositives
    $slideShapes = $sld->getShapes();
    # Ajouter une forme groupée à la diapositive
    $groupShape = $slideShapes->addGroupShape();
    # Ajouter des formes dans la forme groupée ajoutée
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 300, 100, 100, 100);
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 500, 100, 100, 100);
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 300, 300, 100, 100);
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 500, 300, 100, 100);
    # Ajouter le cadre de la forme groupée
    $groupShape->setFrame(new ShapeFrame(100, 300, 500, 40, NullableBool::False, NullableBool::False, 0));
    # Enregistrer le fichier PPTX sur le disque
    $pres->save("GroupShape.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Accéder à la propriété AltText

Ce sujet montre les étapes simples, accompagnées d’exemples de code, pour ajouter une forme groupée et accéder à la propriété AltText des formes groupées sur les diapositives. Pour accéder à l’AltText d’une forme groupée dans une diapositive en utilisant Aspose.Slides for PHP via Java :

  1. Instancier la classe Presentation qui représente un fichier PPTX.
  2. Obtenir la référence d’une diapositive en utilisant son index.
  3. Accéder à la collection de formes des diapositives.
  4. Accéder à la forme groupée.
  5. Accéder à la propriété AlternativeText.

L’exemple ci-dessous accède au texte alternatif de la forme groupée.

  # Instancier la classe Presentation qui représente le fichier PPTX
  $pres = new Presentation("AltText.pptx");
  try {
    # Obtenir la première diapositive
    $sld = $pres->getSlides()->get_Item(0);
    for($i = 0; $i < java_values($sld->getShapes()->size()) ; $i++) {
      # Accéder à la collection de formes des diapositives
      $shape = $sld->getShapes()->get_Item($i);
      if (java_instanceof($shape, new JavaClass("com.aspose.slides.GroupShape"))) {
        # Accéder à la forme groupée.
        $grphShape = $shape;
        for($j = 0; $j < java_values($grphShape->getShapes()->size()) ; $j++) {
          $shape2 = $grphShape->getShapes()->get_Item($j);
          # Accéder à la propriété AltText
          echo($shape2->getAlternativeText());
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Le groupement imbriqué (un groupe dans un groupe) est‑il pris en charge ?

Oui. GroupShape possède une méthode getParentGroup qui indique directement la prise en charge de la hiérarchie (un groupe peut être un enfant d’un autre groupe).

Comment contrôler l’ordre Z du groupe par rapport aux autres objets de la diapositive ?

Utilisez la méthode getZOrderPosition du GroupShape pour examiner sa position dans la pile d’affichage.

Puis‑je empêcher le déplacement/la modification/le dégroupage ?

Oui. La section de verrouillage du groupe est exposée via GroupShapeLock, ce qui vous permet de restreindre les opérations sur l’objet.