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:
- Erstellen Sie eine Instanz der Presentation Klasse.
- Erhalten Sie die Referenz auf eine Folie, indem Sie ihren Index verwenden.
- Fügen Sie eine SmartArt-Form hinzu und setzen Sie den Layouttyp.
- 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();
}
}
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.
- Erstellen Sie eine Instanz der Presentation Klasse und laden Sie die Präsentation mit der SmartArt-Form.
- Erhalten Sie die Referenz auf die erste Folie, indem Sie ihren Index verwenden.
- Durchlaufen Sie jede Form innerhalb der ersten Folie.
- Überprüfen Sie, ob die Form vom SmartArt Typ ist, und casten Sie die ausgewählte Form zu SmartArt, wenn sie SmartArt ist.
- Ü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.
- Erstellen Sie eine Instanz der Presentation Klasse und laden Sie die Präsentation mit der SmartArt-Form.
- Erhalten Sie die Referenz auf die erste Folie, indem Sie ihren Index verwenden.
- Durchlaufen Sie jede Form innerhalb der ersten Folie.
- Überprüfen Sie, ob die Form vom SmartArt Typ ist und casten Sie die ausgewählte Form zu SmartArt, wenn sie SmartArt ist.
- Suchen Sie die SmartArt-Form mit einem bestimmten Stil.
- Setzen Sie den neuen Stil für die SmartArt-Form.
- 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();
}
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.
- Erstellen Sie eine Instanz der Presentation Klasse und laden Sie die Präsentation mit der SmartArt-Form.
- Erhalten Sie die Referenz auf die erste Folie, indem Sie ihren Index verwenden.
- Durchlaufen Sie jede Form innerhalb der ersten Folie.
- Überprüfen Sie, ob die Form vom SmartArt Typ ist und casten Sie die ausgewählte Form zu SmartArt, wenn sie SmartArt ist.
- Suchen Sie die SmartArt-Form mit einem bestimmten Farbstil.
- Setzen Sie den neuen Farbstil für die SmartArt-Form.
- 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();
}
Abbildung: SmartArt-Form mit geändertem Farbstil |