Apache POI PPT - Gestione diapositive

Dopo aver completato questo capitolo, sarai in grado di eliminare, riordinare ed eseguire operazioni di lettura e scrittura su una diapositiva.

Modifica di una diapositiva

Possiamo cambiare la dimensione della pagina di una diapositiva usando il setPageSize() metodo del XMLSlideShow classe.

Inizialmente crea una presentazione come mostrato di seguito -

File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");

//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

Ottieni le dimensioni della diapositiva corrente usando il getPageSize() metodo del XMLSlideShow classe.

java.awt.Dimension pgsize = ppt.getPageSize();

Imposta la dimensione della pagina usando il setPageSize() metodo.

ppt.setPageSize(new java.awt.Dimension(1024, 768));

Di seguito viene fornito il programma completo per modificare le dimensioni di una diapositiva:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.XMLSlideShow;

public class ChangingSlide {
   
   public static void main(String args[]) throws IOException {

      //create file object
      File file = new File("TitleAndContentLayout.pptx");
	 
      //create presentation
      XMLSlideShow ppt = new XMLSlideShow();
      
      //getting the current page size
      java.awt.Dimension pgsize = ppt.getPageSize();
      int pgw = pgsize.width; //slide width in points
      int pgh = pgsize.height; //slide height in points
      
      System.out.println("current page size of the PPT is:");
      System.out.println("width :" + pgw);
      System.out.println("height :" + pgh);
      
      //set new page size
      ppt.setPageSize(new java.awt.Dimension(2048,1536));
      
      //creating file object
      FileOutputStream out = new FileOutputStream(file);
      
      //saving the changes to a file
      ppt.write(out);
      System.out.println("slide size changed to given dimentions ");
      out.close();	
   }
}

Salva il codice Java sopra come ChangingSlide.java, quindi compilarlo ed eseguirlo dal prompt dei comandi come segue:

$javac ChangingSlide.java
$java ChangingSlide

Verrà compilato ed eseguito per generare il seguente output.

current page size of the presentation is : 
width :720
height :540
slide size changed to given dimensions

Di seguito è riportata l'istantanea della presentazione prima di modificare la dimensione della diapositiva -

La diapositiva appare come segue dopo aver cambiato le sue dimensioni:

Riordino delle diapositive

È possibile impostare l'ordine delle diapositive utilizzando il file setSlideOrder()metodo. Di seguito è riportata la procedura per impostare l'ordine delle diapositive.

Apri un documento PPT esistente come mostrato di seguito -

File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

Ottieni le diapositive usando il getSlides() metodo come mostrato di seguito -

XSLFSlide[] slides = ppt.getSlides();

Seleziona una diapositiva dalla matrice delle diapositive e modifica l'ordine utilizzando il setSlideOrder() metodo come mostrato di seguito -

//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];

//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);

Di seguito è riportato il programma completo per riordinare le diapositive in una presentazione:

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 ReorderSlide {	
   
   public static void main(String args[]) throws IOException {
   
      //opening an existing presentation
      File file = new File("example1.pptx");
      XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
      
      //get the slides 
      XSLFSlide[] slides = ppt.getSlides();    
      
      //selecting the fourth slide
      XSLFSlide selectesdslide = slides[13];
      
      //bringing it to the top
      ppt.setSlideOrder(selectesdslide, 0);
      
      //creating an file object 
      FileOutputStream out = new FileOutputStream(file);
	  
      //saving the changes to a file
      ppt.write(out);
      out.close();	
   }
}

Salva il codice Java sopra come ReorderSlide.java, quindi compilarlo ed eseguirlo dal prompt dei comandi come segue:

$javac ReorderSlide.java
$java ReorderSlide

Verrà compilato ed eseguito per generare il seguente output.

Reordering of the slides is done

Di seguito è riportata l'istantanea della presentazione prima di riordinare le diapositive:

Dopo aver riordinato le diapositive, la presentazione viene visualizzata come segue. Qui abbiamo selezionato la diapositiva con l'immagine e l'abbiamo spostata in alto.

Eliminazione di diapositive

È possibile eliminare le diapositive utilizzando il file removeSlide()metodo. Seguire i passaggi indicati di seguito per eliminare le diapositive.

Apri una presentazione esistente utilizzando il file XMLSlideShow classe come mostrato di seguito -

File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

Elimina la diapositiva richiesta utilizzando il file removeSlide()metodo. Questo metodo accetta un parametro intero. Passa l'indice della diapositiva che deve essere eliminata a questo metodo.

ppt.removeSlide(1);

Di seguito è riportato il programma per eliminare le diapositive da una presentazione:

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

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

public class Deleteslide { 
   
   public static void main(String args[]) throws IOException {
   
      //Opening an existing slide
      File file = new File("image.pptx");
      XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
      
      //deleting a slide
      ppt.removeSlide(1);
      
      //creating a file object
      FileOutputStream out = new FileOutputStream(file);
      
      //Saving the changes to the presentation
      ppt.write(out);
      out.close();	
   }
}

Salva il codice Java sopra come Deleteslide.java, quindi compilarlo ed eseguirlo dal prompt dei comandi come segue:

$javac Deleteslide.java
$java Deleteslide

Verrà compilato ed eseguito per generare il seguente output:

reordering of the slides is done

L'istantanea di seguito è della presentazione prima di eliminare la diapositiva -

Dopo aver eliminato la diapositiva, la presentazione appare come segue: