Apache POI PPT - Présentation

En général, nous utilisons MS-PowerPoint pour créer des présentations. Voyons maintenant comment créer des présentations à l'aide de Java. Une fois ce chapitre terminé, vous serez en mesure de créer de nouvelles présentations MS-PowerPoint et d'ouvrir des PPT existants avec votre programme Java.

Créer une présentation vide

Pour créer une présentation vide, vous devez instancier le XMLSlideShowclasse du package org.poi.xslf.usermodel -

XMLSlideShow ppt = new XMLSlideShow();

Enregistrez les modifications dans un document PPT à l'aide du FileOutputStream classe -

File file = new File("C://POIPPT//Examples//example1.pptx");
FileOutputStream out = new FileOutputStream(file);
ppt.write(out);

Vous trouverez ci-dessous le programme complet pour créer une présentation MS-PowerPoint vierge.

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class CreatePresentation {
   
   public static void main(String args[]) throws IOException {
   
      //creating a new empty slide show
      XMLSlideShow ppt = new XMLSlideShow();	     
      
      //creating an FileOutputStream object
      File file = new File("example1.pptx");
      FileOutputStream out = new FileOutputStream(file);
      
      //saving the changes to a file
      ppt.write(out);
      System.out.println("Presentation created successfully");
      out.close()
   }
}

Enregistrez le code Java ci-dessus sous CreatePresentation.java, puis compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac CreatePresentation.java
$java CreatePresentation

Si votre environnement système est configuré avec la bibliothèque POI, il sera compilé et exécuté pour générer un fichier PPT vierge nommé example1.pptx dans votre répertoire actuel et affichez la sortie suivante sur l'invite de commande -

Presentation created successfully

Le document PowerPoint vierge apparaît comme suit -

Modification d'une présentation existante

Pour ouvrir une présentation existante, instanciez le XMLSlideShow classe et passer le FileInputStream objet du fichier à éditer, comme argument du XMLSlideShow constructeur.

File file = new File(“C://POIPPT//Examples//example1.pptx”);
FileInputstream inputstream = new FileInputStream(file);
XMLSlideShow ppt = new XMLSlideShow(inputstream);

Vous pouvez ajouter des diapositives à une présentation en utilisant le createSlide()méthode de la classe XMLSlideShow qui se trouve dans le package org.poi.xslf.usermodel .

XSLFSlide slide1 = ppt.createSlide();

Vous trouverez ci-dessous le programme complet pour ouvrir et ajouter des diapositives à un PPT existant -

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class EditPresentation {

   public static void main(String ar[]) throws IOException {
	   
      //opening an existing slide show
      File file = new File("example1.pptx");
      FileInputStream inputstream = new FileInputStream(file);
      XMLSlideShow ppt = new XMLSlideShow(inputstream);
      
      //adding slides to the slodeshow
      XSLFSlide slide1 = ppt.createSlide();
      XSLFSlide slide2 = ppt.createSlide();
      
      //saving the changes 
      FileOutputStream out = new FileOutputStream(file);
      ppt.write(out);
      
      System.out.println("Presentation edited successfully");
      out.close();	
   }
}

Enregistrez le code Java ci-dessus sous EditPresentation.java, puis compilez et exécutez-le à partir de l'invite de commande comme suit -

$javac EditPresentation.java
$java EditPresentation

Il se compilera et s'exécutera pour générer la sortie suivante -

slides successfully added

Le document PPT de sortie avec les diapositives nouvellement ajoutées se présente comme suit:

Après avoir ajouté des diapositives à un PPT, vous pouvez ajouter, effectuer, lire et écrire des opérations sur les diapositives.