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: