Apache POI PPT - Gestión de diapositivas

Después de completar este capítulo, podrá eliminar, reordenar y realizar operaciones de lectura y escritura en una diapositiva.

Cambiar una diapositiva

Podemos cambiar el tamaño de página de una diapositiva usando el setPageSize() método del XMLSlideShow clase.

Cree inicialmente una presentación como se muestra a continuación:

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

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

Obtenga el tamaño de la diapositiva actual usando el getPageSize() método del XMLSlideShow clase.

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

Establezca el tamaño de la página con el setPageSize() método.

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

El programa completo para cambiar el tamaño de una diapositiva se da a continuación:

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();	
   }
}

Guarde el código Java anterior como ChangingSlide.java, y luego compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac ChangingSlide.java
$java ChangingSlide

Se compilará y ejecutará para generar la siguiente salida.

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

A continuación se muestra la instantánea de la presentación antes de cambiar el tamaño de la diapositiva:

La diapositiva aparece de la siguiente manera después de cambiar su tamaño:

Reordenación de diapositivas

Puede establecer el orden de las diapositivas con el setSlideOrder()método. A continuación se muestra el procedimiento para establecer el orden de las diapositivas.

Abra un documento PPT existente como se muestra a continuación:

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

Obtenga las diapositivas usando el getSlides() método como se muestra a continuación -

XSLFSlide[] slides = ppt.getSlides();

Seleccione una diapositiva de la matriz de diapositivas y cambie el orden con el setSlideOrder() método como se muestra a continuación -

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

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

A continuación se muestra el programa completo para reordenar las diapositivas en una presentación:

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();	
   }
}

Guarde el código Java anterior como ReorderSlide.java, y luego compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac ReorderSlide.java
$java ReorderSlide

Se compilará y ejecutará para generar la siguiente salida.

Reordering of the slides is done

A continuación se muestra la instantánea de la presentación antes de reordenar las diapositivas:

Después de reordenar las diapositivas, la presentación aparece de la siguiente manera. Aquí hemos seleccionado la diapositiva con imagen y la hemos movido a la parte superior.

Eliminar diapositivas

Puede eliminar las diapositivas con el removeSlide()método. Siga los pasos que se indican a continuación para eliminar diapositivas.

Abra una presentación existente usando el XMLSlideShow clase como se muestra a continuación -

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

Elimine la diapositiva requerida usando el removeSlide()método. Este método acepta un parámetro de número entero. Pase el índice de la diapositiva que se va a eliminar a este método.

ppt.removeSlide(1);

A continuación se muestra el programa para eliminar diapositivas de una presentación:

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();	
   }
}

Guarde el código Java anterior como Deleteslide.java, y luego compílelo y ejecútelo desde el símbolo del sistema de la siguiente manera:

$javac Deleteslide.java
$java Deleteslide

Se compilará y ejecutará para generar la siguiente salida:

reordering of the slides is done

La instantánea a continuación es de la presentación antes de eliminar la diapositiva:

Después de eliminar la diapositiva, la presentación aparece de la siguiente manera: