Générer des vignettes PPTX en Java

Les miniatures sont des versions réduites des images plus grandes qui facilitent la visualisation ou le défilement de la liste des images. MS PowerPoint utilise également des vignettes pour les présentations pour parcourir le contenu et naviguer vers une diapositive particulière. Dans cet article, vous apprendrez à générer des vignettes de PowerPoint PPTX ou PPT à l’aide de Java. Vous pouvez utiliser cette fonctionnalité dans des scénarios tels que la création de votre visionneuse PowerPoint Web ou de bureau.

API Java pour générer des vignettes pour PowerPoint PPTX/PPT

Pour générer des vignettes pour les présentations PPTX ou PPT, nous utiliserons Aspose.Slides for Java. Il s’agit d’une API riche en fonctionnalités pour créer, manipuler et convertir des présentations PowerPoint et OpenOffice. Vous pouvez soit télécharger l’API ou l’installer à l’aide des configurations Maven suivantes.

<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.8</version>
    <classifier>jdk16</classifier>
</dependency>

Générer des vignettes pour PPTX ou PPT en utilisant Java

Voici les étapes pour générer des vignettes d’une présentation PPTX à l’aide de Java.

  1. Commencez par créer une instance de la classe Presentation pour charger la présentation.
  2. Parcourez chaque ISlide dans la collection Presentation.getSlides().
  3. Générez l’image de chaque diapositive à l’aide de la méthode ISlide.getThumbnail(1f, 1f) et récupérez la référence de l’image dans un objet BufferedImage.
  4. Créez un nouveau Fichier pour l’image de sortie.
  5. Enfin, enregistrez l’image à l’aide de la méthode ImageIO.write(BufferedImage, String, File).

L’exemple de code suivant montre comment générer des miniatures d’une présentation PPTX à l’aide de Java.

// Charger la présentation PowerPoint
Presentation presentation = new Presentation("presentation.pptx");

// Parcourir les diapositives de la présentation
for (ISlide sld : presentation.getSlides()) {
  
	// Créer une image à grande échelle de la diapositive
	BufferedImage bi = sld.getThumbnail(1f, 1f);

	// Créer un nouveau fichier pour enregistrer l'image
	File outputfile = new File("Slide_" + sld.getSlideNumber() + ".png");

	// Enregistrer l'image
	ImageIO.write(bi, "png", outputfile);
}

Générer des vignettes avec des dimensions définies par l’utilisateur

Vous pouvez également spécifier vos propres dimensions pour les images miniatures en utilisant la hauteur et la largeur des diapositives. Voici les étapes pour effectuer cette opération.

  1. Commencez par créer une instance de la classe Presentation pour charger la présentation.
  2. Définissez les dimensions de l’image PNG résultante.
  3. Parcourez chaque ISlide dans la collection Presentation.getSlides().
  4. Générez l’image de chaque diapositive à l’aide de la méthode ISlide.getThumbnail(float ScaleX, float ScaleY) et récupérez la référence de l’image dans un objet BufferedImage.
  5. Créez un nouveau Fichier pour l’image de sortie.
  6. Enfin, enregistrez l’image à l’aide de la méthode ImageIO.write(BufferedImage, String, File).

L’exemple de code suivant montre comment générer des vignettes d’un PPTX avec des dimensions personnalisées.

// Charger la présentation PowerPoint
Presentation presentation = new Presentation("presentation.pptx");

// Dimension définie par l'utilisateur
int desiredX = 1200;
int desiredY = 800;

// Obtenir la valeur mise à l'échelle de X et Y
float ScaleX = (float) (1.0 / presentation.getSlideSize().getSize().getWidth()) * desiredX;
float ScaleY = (float) (1.0 / presentation.getSlideSize().getSize().getHeight()) * desiredY;

// Parcourir les diapositives de la présentation
for (ISlide sld : presentation.getSlides()) {
  
	// Créer une image à grande échelle de la diapositive
	BufferedImage bi = sld.getThumbnail(ScaleX, ScaleY);

	// Créer un nouveau fichier pour enregistrer l'image
	File outputfile = new File("Slide_" + sld.getSlideNumber() + ".png");

	// Enregistrer l'image
	ImageIO.write(bi, "png", outputfile);
}

Obtenez une licence API gratuite

Vous pouvez utiliser Aspose.Slides for Java sans limitation d’évaluation en demandant une licence temporaire.

Conclusion

Dans cet article, vous avez appris à générer des vignettes de PowerPoint PPTX ou PPT à l’aide de Java. De plus, vous avez vu comment générer des vignettes avec des dimensions définies par l’utilisateur. De plus, vous pouvez visiter la documentation pour explorer d’autres fonctionnalités de l’API. N’hésitez pas non plus à nous faire part de vos questions via notre forum.

Voir également