GroupShape
Contents
[
Hide
]
Examples for creating groups of shapes, accessing them, ungrouping, and removal using Aspose.Slides for PHP via Java.
Add a Group Shape
Create a group containing two basic shapes.
function addGroupShape() {
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$group = $slide->getShapes()->addGroupShape();
$group->getShapes()->addAutoShape(ShapeType::Rectangle, 0, 0, 50, 50);
$group->getShapes()->addAutoShape(ShapeType::Ellipse, 60, 0, 50, 50);
$presentation->save("group_shape.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
Access a Group Shape
Retrieve the first group shape from a slide.
function accessGroupShape() {
$presentation = new Presentation("group_shape.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// Access the first group shape on the slide.
$firstGroup = null;
$shapeCount = java_values($slide->getShapes()->size());
for ($index = 0; $index < $shapeCount; $index++) {
$shape = $slide->getShapes()->get_Item($index);
if (java_instanceof($shape, new JavaClass("com.aspose.slides.GroupShape"))) {
$firstGroup = $shape;
break;
}
}
} finally {
$presentation->dispose();
}
}
Remove a Group Shape
Delete a group shape from the slide.
function removeGroupShape() {
$presentation = new Presentation("group_shape.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// Assuming the first shape on the slide is a group shape.
$group = $slide->getShapes()->get_Item(0);
$slide->getShapes()->remove($group);
$presentation->save("group_shape_removed.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
Ungroup Shapes
Move shapes out of a group container.
function ungroupShapes() {
$presentation = new Presentation("group_shape.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// Assuming the first shape on the slide is a group shape.
$group = $slide->getShapes()->get_Item(0);
// Clone each shape from the group and add it to the slide.
$shapeCount = java_values($group->getShapes()->size());
for ($index = 0; $index < $shapeCount; $index++) {
$shape = $group->getShapes()->get_Item($index);
$slide->getShapes()->addClone($shape);
}
$slide->getShapes()->remove($group);
$presentation->save("ungrouped_shapes.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}