Travailler avec des formes PowerPoint en Java

Les formes dans les présentations PowerPoint sont utilisées pour élaborer un point particulier ou créer des diagrammes tels que des organigrammes, etc. De plus, l’inclusion de formes rend la présentation plus attrayante. Par conséquent, PowerPoint fournit un certain nombre de formes telles que la ligne, l’ellipse, le rectangle, etc. Dans cet article, vous apprendrez à automatiser la manipulation des formes dans les présentations PowerPoint. En particulier, l’article expliquera comment ajouter, connecter, cloner ou supprimer des formes dans les présentations PowerPoint à l’aide de Java.

API Java pour travailler avec des formes PowerPoint

Pour travailler avec des formes PowerPoint, nous utiliserons Aspose.Slides for Java. Il s’agit d’une puissante API Java qui vous permet de manipuler des présentations PowerPoint de manière transparente. En particulier, l’API vous permet de créer, modifier, lire et convertir les documents de présentation. Vous pouvez soit télécharger l’API ou l’installer à l’aide de la configuration Maven suivante.

<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>

Types de formes PowerPoint

PowerPoint prend en charge une variété de formes que vous pouvez ajouter aux diapositives de la présentation. En conséquence, Aspose.Slides for Java prend en charge les types de formes suivants :

Ajouter une forme aux diapositives PowerPoint en Java

Aspose.Slides for Java fournit la classe ShapeType pour spécifier le type de forme que vous souhaitez ajouter. Voici les étapes pour ajouter une forme particulière dans une présentation PowerPoint à l’aide de Java.

L’exemple de code suivant montre comment ajouter une forme à une présentation PowerPoint à l’aide de Java.

// Instancier la classe de présentation qui représente le PPTX
Presentation pres = new Presentation();

// Obtenir la première diapositive
ISlide sld = pres.getSlides().get_Item(0);

// Ajouter une forme automatique de type ellipse
sld.getShapes().addAutoShape(ShapeType.Ellipse, 100, 150, 150, 100);

// Écrire le fichier PPTX sur le disque
pres.save("add_shape.pptx", SaveFormat.Pptx);

Voici la sortie que vous obtiendrez après avoir exécuté ce code.

Ajouter une forme PowerPoint en Java

Ajouter un connecteur entre les formes PowerPoint à l’aide de Java

Le connecteur est une ligne utilisée pour joindre deux formes. De plus, un connecteur peut être une ligne droite ou courbe. Voici les étapes pour ajouter un connecteur entre deux formes PowerPoint.

L’exemple de code suivant montre comment ajouter un connecteur entre deux formes dans PowerPoint à l’aide de Java.

// Instancier la classe Presentation qui représente le fichier PPTX
Presentation input = new Presentation();

// Accéder à la collection de formes pour la diapositive sélectionnée
IShapeCollection shapes = input.getSlides().get_Item(0).getShapes();

// Ajouter une ellipse de forme automatique
IAutoShape ellipse = shapes.addAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

// Ajouter un rectangle de forme automatique
IAutoShape rectangle = shapes.addAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

// Ajouter une forme de connecteur à la collection de formes de diapositives
IConnector connector = shapes.addConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

// Joindre des formes aux connecteurs
connector.setStartShapeConnectedTo(ellipse);
connector.setEndShapeConnectedTo(rectangle);
connector.reroute();

// Enregistrer la présentation
input.save("connect_shape.pptx", SaveFormat.Pptx);

Voici la capture d’écran de la présentation PowerPoint après avoir connecté les formes.

Connecter des formes PowerPoint en Java

Cloner une forme PowerPoint à l’aide de Java

Vous pouvez également cloner une forme PowerPoint pour créer sa copie. Voici les étapes pour effectuer cette opération.

L’exemple de code suivant montre comment ajouter un clone d’une forme PowerPoint à l’aide de Java.

// Instancier la classe de présentation qui représente le PPTX
Presentation pres = new Presentation();

// Obtenir la première diapositive
ISlide sld = pres.getSlides().get_Item(0);

// Ajouter une forme automatique de type rectangle
IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 75, 150);

// Faire pivoter la forme à 90 degrés
shp.setRotation(90);

// Écrire le fichier PPTX sur le disque
pres.save("clone_shape.pptx", SaveFormat.Pptx);

Supprimer les formes des diapositives PowerPoint en Java

Vous pouvez également supprimer les formes PowerPoint d’une diapositive à l’aide de Aspose.Slides for Java. Voici les étapes pour supprimer une forme PowerPoint de la collection de formes.

L’exemple de code suivant montre comment supprimer une forme PowerPoint d’une diapositive à l’aide de Java.

// Charger la présentation
Presentation presentation1 = new Presentation("clone_shape.pptx");

// Obtenir la diapositive
ISlide slide = presentation1.getSlides().get_Item(0);

// Mettre en forme le texte pour trouver la forme
String alttext = "User Defined";

// Obtenir le nombre de formes
int iCount = slide.getShapes().size();

// Boucle à travers les formes
for (int i = 0; i < iCount; i++) {
	
	// Obtenez la forme
	IAutoShape ashp = (IAutoShape) slide.getShapes().get_Item(0);
	if (ashp.getAlternativeText().compareTo(alttext) == 0) {    
		// Supprimer la forme
		slide.getShapes().remove(ashp);
	}
}
presentation1.save("remove_shape.pptx", SaveFormat.Pptx);

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans limitation d’évaluation.

Conclusion

Dans cet article, vous avez appris à utiliser des formes dans des présentations PowerPoint à l’aide de Java. En particulier, vous avez vu comment ajouter, connecter, supprimer ou cloner les formes PowerPoint. De plus, vous pouvez en savoir plus sur l’API en consultant sa documentation. Aussi, en cas de questions, n’hésitez pas à nous le faire savoir via notre forum.

Voir également