SmartArt-Form verwalten

SmartArt-Form erstellen

Aspose.Slides für PHP über Java hat eine API bereitgestellt, um SmartArt-Formen zu erstellen. Um eine SmartArt-Form in einer Folie zu erstellen, folgen Sie bitte den folgenden Schritten:

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Erhalten Sie die Referenz auf eine Folie, indem Sie ihren Index verwenden.
  3. Fügen Sie eine SmartArt-Form hinzu und setzen Sie den Layouttyp.
  4. Speichern Sie die modifizierte Präsentation als PPTX-Datei.
  # Instanziieren der Präsentationsklasse
  $pres = new Presentation();
  try {
    # Erste Folie abrufen
    $slide = $pres->getSlides()->get_Item(0);
    # SmartArt-Form hinzufügen
    $smart = $slide->getShapes()->addSmartArt(0, 0, 400, 400, SmartArtLayoutType::BasicBlockList);
    # Präsentation speichern
    $pres->save("SimpleSmartArt.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }
todo:image_alt_text
Abbildung: SmartArt-Form zur Folie hinzugefügt

Zugriff auf SmartArt-Form in der Folie

Der folgende Code wird verwendet, um auf die in der Präsentationsfolie hinzugefügten SmartArt-Formen zuzugreifen. Im Beispielcode durchlaufen wir jede Form innerhalb der Folie und überprüfen, ob sie eine SmartArt Form ist. Wenn die Form vom Typ SmartArt ist, casten wir sie zur SmartArt Instanz.

  # Die gewünschte Präsentation laden
  $pres = new Presentation("AccessSmartArtShape.pptx");
  try {
    # Jede Form innerhalb der ersten Folie durchlaufen
    foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
      # Überprüfen, ob die Form vom Typ SmartArt ist
      if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
        # Form zu SmartArtEx casten
        $smart = $shape;
        echo("Formname: " . $smart->getName());
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Zugriff auf SmartArt-Form mit speziellem Layouttyp

Der folgende Beispielcode hilft dabei, auf die SmartArt Form mit einem speziellen Layouttyp zuzugreifen: Bitte beachten Sie, dass Sie den Layouttyp der SmartArt nicht ändern können, da er schreibgeschützt ist und nur festgelegt wird, wenn die SmartArt Form hinzugefügt wird.

  1. Erstellen Sie eine Instanz der Presentation Klasse und laden Sie die Präsentation mit der SmartArt-Form.
  2. Erhalten Sie die Referenz auf die erste Folie, indem Sie ihren Index verwenden.
  3. Durchlaufen Sie jede Form innerhalb der ersten Folie.
  4. Überprüfen Sie, ob die Form vom SmartArt Typ ist, und casten Sie die ausgewählte Form zu SmartArt, wenn sie SmartArt ist.
  5. Überprüfen Sie die SmartArt-Form mit einem bestimmten Layouttyp und führen Sie aus, was danach erforderlich ist.
  $pres = new Presentation("AccessSmartArtShape.pptx");
  try {
    # Jede Form innerhalb der ersten Folie durchlaufen
    foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
      # Überprüfen, ob die Form vom Typ SmartArt ist
      if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
        # Form zu SmartArtEx casten
        $smart = $shape;
        # Überprüfen des SmartArt-Layouts
        if ($smart->getLayout() == SmartArtLayoutType::BasicBlockList) {
          echo("Hier etwas tun....");
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

SmartArt-Formstil ändern

In diesem Beispiel lernen wir, den Schnellstil für eine beliebige SmartArt-Form zu ändern.

  1. Erstellen Sie eine Instanz der Presentation Klasse und laden Sie die Präsentation mit der SmartArt-Form.
  2. Erhalten Sie die Referenz auf die erste Folie, indem Sie ihren Index verwenden.
  3. Durchlaufen Sie jede Form innerhalb der ersten Folie.
  4. Überprüfen Sie, ob die Form vom SmartArt Typ ist und casten Sie die ausgewählte Form zu SmartArt, wenn sie SmartArt ist.
  5. Suchen Sie die SmartArt-Form mit einem bestimmten Stil.
  6. Setzen Sie den neuen Stil für die SmartArt-Form.
  7. Speichern Sie die Präsentation.
  # Instanziieren der Präsentationsklasse
  $pres = new Presentation("SimpleSmartArt.pptx");
  try {
    # Erste Folie abrufen
    $slide = $pres->getSlides()->get_Item(0);
    # Jede Form innerhalb der ersten Folie durchlaufen
    foreach($slide->getShapes() as $shape) {
      # Überprüfen, ob die Form vom Typ SmartArt ist
      if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
        # Form zu SmartArtEx casten
        $smart = $shape;
        # Überprüfen des SmartArt-Stils
        if ($smart->getQuickStyle() == SmartArtQuickStyleType::SimpleFill) {
          # Ändern des SmartArt-Stils
          $smart->setQuickStyle(SmartArtQuickStyleType::Cartoon);
        }
      }
    }
    # Präsentation speichern
    $pres->save("ChangeSmartArtStyle.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }
todo:image_alt_text
Abbildung: SmartArt-Form mit geändertem Stil

SmartArt-Formfarbstil ändern

In diesem Beispiel lernen wir, den Farbstil für eine beliebige SmartArt-Form zu ändern. Im folgenden Beispielcode greifen wir auf die SmartArt-Form mit einem bestimmten Farbstil zu und ändern ihren Stil.

  1. Erstellen Sie eine Instanz der Presentation Klasse und laden Sie die Präsentation mit der SmartArt-Form.
  2. Erhalten Sie die Referenz auf die erste Folie, indem Sie ihren Index verwenden.
  3. Durchlaufen Sie jede Form innerhalb der ersten Folie.
  4. Überprüfen Sie, ob die Form vom SmartArt Typ ist und casten Sie die ausgewählte Form zu SmartArt, wenn sie SmartArt ist.
  5. Suchen Sie die SmartArt-Form mit einem bestimmten Farbstil.
  6. Setzen Sie den neuen Farbstil für die SmartArt-Form.
  7. Speichern Sie die Präsentation.
  # Instanziieren der Präsentationsklasse
  $pres = new Presentation("SimpleSmartArt.pptx");
  try {
    # Erste Folie abrufen
    $slide = $pres->getSlides()->get_Item(0);
    # Jede Form innerhalb der ersten Folie durchlaufen
    foreach($slide->getShapes() as $shape) {
      # Überprüfen, ob die Form vom Typ SmartArt ist
      if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
        # Form zu SmartArtEx casten
        $smart = $shape;
        # Überprüfen des SmartArt-Farbstils
        if ($smart->getColorStyle() == SmartArtColorType::ColoredFillAccent1) {
          # Ändern des SmartArt-Farbstils
          $smart->setColorStyle(SmartArtColorType::ColorfulAccentColors);
        }
      }
    }
    # Präsentation speichern
    $pres->save("ChangeSmartArtColorStyle.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }
todo:image_alt_text
Abbildung: SmartArt-Form mit geändertem Farbstil