Trabalhar com formas do PowerPoint em Java

As formas nas apresentações do PowerPoint são usadas para elaborar um ponto específico ou criar diagramas como fluxogramas, etc. Além disso, a inclusão de formas torna a apresentação mais atraente. Portanto, o PowerPoint fornece várias formas, como linha, elipse, retângulo, etc. Neste artigo, você aprenderá como automatizar a manipulação de formas em apresentações do PowerPoint. Particularmente, o artigo abordará como adicionar, conectar, clonar ou remover formas em apresentações do PowerPoint usando Java.

API Java para trabalhar com formas do PowerPoint

Para trabalhar com formas do PowerPoint, usaremos Aspose.Slides for Java. É uma poderosa API Java que permite manipular apresentações do PowerPoint sem problemas. Particularmente, a API permite criar, modificar, ler e converter os documentos de apresentação. Você pode baixar a API ou instalá-la usando a seguinte configuração do Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

Tipos de formas do PowerPoint

O PowerPoint oferece suporte a uma variedade de formas que você pode adicionar aos slides da apresentação. Assim, Aspose.Slides for Java suporta os seguintes tipos de forma:

Adicionar forma aos slides do PowerPoint em Java

Aspose.Slides for Java fornece a classe ShapeType para especificar o tipo de forma que você deseja adicionar. A seguir estão as etapas para adicionar uma forma específica em uma apresentação do PowerPoint usando Java.

O exemplo de código a seguir mostra como adicionar uma forma a uma apresentação do PowerPoint usando Java.

// Instanciar a classe de apresentação que representa o PPTX
Presentation pres = new Presentation();

// Obter o primeiro slide
ISlide sld = pres.getSlides().get_Item(0);

// Adicionar AutoForma do tipo elipse
sld.getShapes().addAutoShape(ShapeType.Ellipse, 100, 150, 150, 100);

// Gravar o arquivo PPTX no disco
pres.save("add_shape.pptx", SaveFormat.Pptx);

A seguir está a saída que você obterá depois de executar este código.

Adicionar forma do PowerPoint em Java

Adicionar conector entre formas do PowerPoint usando Java

O conector é uma linha que é usada para unir duas formas. Além disso, um conector pode ser uma linha reta ou curva. A seguir estão as etapas para adicionar um conector entre duas formas do PowerPoint.

O exemplo de código a seguir mostra como adicionar conector entre duas formas no PowerPoint usando Java.

// Instanciar classe de apresentação que representa o arquivo PPTX
Presentation input = new Presentation();

// Acesse a coleção de formas para o slide selecionado
IShapeCollection shapes = input.getSlides().get_Item(0).getShapes();

// Adicionar elipse de forma automática
IAutoShape ellipse = shapes.addAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

// Adicionar retângulo de forma automática
IAutoShape rectangle = shapes.addAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

// Adicionar forma de conector à coleção de formas de slide
IConnector connector = shapes.addConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

// Unir formas a conectores
connector.setStartShapeConnectedTo(ellipse);
connector.setEndShapeConnectedTo(rectangle);
connector.reroute();

// Salvar apresentação
input.save("connect_shape.pptx", SaveFormat.Pptx);

A seguir está a captura de tela da apresentação do PowerPoint depois de conectar as formas.

Conectar formas do PowerPoint em Java

Clone uma forma do PowerPoint usando Java

Você também pode clonar uma forma do PowerPoint para criar sua cópia. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como adicionar um clone de uma forma do PowerPoint usando Java.

// Instanciar a classe de apresentação que representa o PPTX
Presentation pres = new Presentation();

// Obter o primeiro slide
ISlide sld = pres.getSlides().get_Item(0);

// Adicionar AutoForma do tipo retângulo
IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 75, 150);

// Gire a forma para 90 graus
shp.setRotation(90);

// Gravar o arquivo PPTX no disco
pres.save("clone_shape.pptx", SaveFormat.Pptx);

Remover formas de slides do PowerPoint em Java

Você também pode remover as formas do PowerPoint de um slide usando Aspose.Slides for Java. A seguir estão as etapas para remover uma forma do PowerPoint da coleção de formas.

O exemplo de código a seguir mostra como remover uma forma do PowerPoint de um slide usando Java.

// Carregar apresentação
Presentation presentation1 = new Presentation("clone_shape.pptx");

// Obter slide
ISlide slide = presentation1.getSlides().get_Item(0);

// Texto da forma para encontrar a forma
String alttext = "User Defined";

// Obter número de formas
int iCount = slide.getShapes().size();

// Percorrer as formas
for (int i = 0; i < iCount; i++) {
	
	// Obter forma
	IAutoShape ashp = (IAutoShape) slide.getShapes().get_Item(0);
	if (ashp.getAlternativeText().compareTo(alttext) == 0) {    
		// Remover forma
		slide.getShapes().remove(ashp);
	}
}
presentation1.save("remove_shape.pptx", SaveFormat.Pptx);

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu a trabalhar com formas em apresentações do PowerPoint usando Java. Particularmente, você viu como adicionar, conectar, remover ou clonar as formas do PowerPoint. Além disso, você pode explorar mais sobre a API consultando sua documentação. Além disso, em caso de dúvidas, sinta-se à vontade para nos informar através do nosso fórum.

Veja também