Formas de Apresentação em Grupo no PHP
Visão geral
Este artigo explica como trabalhar com formas de grupo no Aspose.Slides. Mostra como adicionar uma forma de grupo a um slide, inserir formas dentro dela e salvar a apresentação atualizada. Também demonstra como acessar as formas armazenadas dentro de um grupo e ler seus valores de AlternativeText. Além disso, o artigo aborda brevemente recursos relacionados a grupos, como grupos aninhados, ordem Z e opções de bloqueio.
Adicionar um Grupo de Formas
Aspose.Slides oferece suporte ao trabalho com formas de grupo em slides. Esse recurso ajuda os desenvolvedores a criar apresentações mais ricas. Aspose.Slides for PHP via Java permite adicionar ou acessar formas de grupo. É possível adicionar formas a um grupo recém‑criado para preenchê‑lo ou acessar qualquer propriedade do grupo. Para adicionar um grupo de formas a um slide usando Aspose.Slides for PHP via Java:
- Crie uma instância da classe Presentation.
- Obtenha a referência de um slide usando seu Índice.
- Adicione uma forma de grupo ao slide.
- Adicione as formas ao grupo criado.
- Salve a apresentação modificada como um arquivo PPTX.
O exemplo abaixo adiciona um grupo de formas a um slide.
# Instanciar classe Presentation
$pres = new Presentation();
try {
# Obter o primeiro slide
$sld = $pres->getSlides()->get_Item(0);
# Acessando a coleção de formas dos slides
$slideShapes = $sld->getShapes();
# Adicionando uma forma de grupo ao slide
$groupShape = $slideShapes->addGroupShape();
# Adicionando formas dentro da forma de grupo adicionada
$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);
# Adicionando quadro da forma de grupo
$groupShape->setFrame(new ShapeFrame(100, 300, 500, 40, NullableBool::False, NullableBool::False, 0));
# Gravar o arquivo PPTX no disco
$pres->save("GroupShape.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Acessar a Propriedade AltText
Este tópico mostra etapas simples, completas com exemplos de código, para adicionar um grupo de formas e acessar a propriedade AltText de grupos de formas em slides. Para acessar o AltText de um grupo de formas em um slide usando Aspose.Slides for PHP via Java:
- Instancie a classe Presentation que representa o arquivo PPTX.
- Obtenha a referência de um slide usando seu Índice.
- Acesse a coleção de formas do slide.
- Acesse o grupo de formas.
- Acesse a propriedade Alternative Text.
O exemplo abaixo acessa o texto alternativo do grupo de formas.
# Instanciar classe Presentation que representa o arquivo PPTX
$pres = new Presentation("AltText.pptx");
try {
# Obter o primeiro slide
$sld = $pres->getSlides()->get_Item(0);
for($i = 0; $i < java_values($sld->getShapes()->size()) ; $i++) {
# Acessando a coleção de formas dos slides
$shape = $sld->getShapes()->get_Item($i);
if (java_instanceof($shape, new JavaClass("com.aspose.slides.GroupShape"))) {
# Acessando a forma de grupo.
$grphShape = $shape;
for($j = 0; $j < java_values($grphShape->getShapes()->size()) ; $j++) {
$shape2 = $grphShape->getShapes()->get_Item($j);
# Acessando a propriedade AltText
echo($shape2->getAlternativeText());
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Perguntas frequentes
O agrupamento aninhado (um grupo dentro de outro grupo) é suportado?
Sim. GroupShape possui o método getParentGroup, que indica diretamente o suporte à hierarquia (um grupo pode ser filho de outro grupo).
Como controlo a ordem Z do grupo em relação a outros objetos no slide?
Use o método getZOrderPosition da GroupShape para inspecionar sua posição na pilha de exibição.
Posso impedir mover/editar/desagrupar?
Sim. A seção de bloqueio do grupo é exposta via GroupShapeLock, que permite restringir operações sobre o objeto.