Apache POI PPT - Gerenciamento de slides
Depois de concluir este capítulo, você poderá excluir, reordenar e realizar operações de leitura e gravação em um slide.
Alterar um slide
Podemos alterar o tamanho da página de um slide usando o setPageSize() método do XMLSlideShow classe.
Inicialmente, crie uma apresentação conforme mostrado abaixo -
File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");
//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Obtenha o tamanho do slide atual usando o getPageSize() método do XMLSlideShow classe.
java.awt.Dimension pgsize = ppt.getPageSize();
Defina o tamanho da página usando o setPageSize() método.
ppt.setPageSize(new java.awt.Dimension(1024, 768));
O programa completo para alterar o tamanho de um slide é fornecido abaixo -
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();
}
}
Salve o código Java acima como ChangingSlide.javae, em seguida, compile e execute-o no prompt de comando da seguinte maneira -
$javac ChangingSlide.java
$java ChangingSlide
Ele irá compilar e executar para gerar a seguinte saída.
current page size of the presentation is :
width :720
height :540
slide size changed to given dimensions
Abaixo está o instantâneo da apresentação antes de alterar o tamanho do slide -
O slide aparece da seguinte forma após alterar seu tamanho -
Reordenando slides
Você pode definir a ordem dos slides usando o setSlideOrder()método. A seguir, está o procedimento para definir a ordem dos slides.
Abra um documento PPT existente conforme mostrado abaixo -
File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Obtenha os slides usando o getSlides() método como mostrado abaixo -
XSLFSlide[] slides = ppt.getSlides();
Selecione um slide da série de slides e altere a ordem usando o setSlideOrder() método como mostrado abaixo -
//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];
//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);
A seguir está o programa completo para reorganizar os slides em uma apresentação -
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();
}
}
Salve o código Java acima como ReorderSlide.javae, em seguida, compile e execute-o no prompt de comando da seguinte maneira -
$javac ReorderSlide.java
$java ReorderSlide
Ele irá compilar e executar para gerar a seguinte saída.
Reordering of the slides is done
Abaixo está o instantâneo da apresentação antes de reorganizar os slides -
Depois de reorganizar os slides, a apresentação aparecerá da seguinte maneira. Aqui, selecionamos o slide com imagem e o movemos para o topo.
Excluindo slides
Você pode excluir os slides usando o removeSlide()método. Siga as etapas abaixo para excluir slides.
Abra uma apresentação existente usando o XMLSlideShow classe como mostrado abaixo -
File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Exclua o slide necessário usando o removeSlide()método. Este método aceita um parâmetro inteiro. Passe o índice do slide a ser apagado para este método.
ppt.removeSlide(1);
A seguir está o programa para excluir slides de uma apresentação -
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();
}
}
Salve o código Java acima como Deleteslide.javae, em seguida, compile e execute-o no prompt de comando da seguinte maneira -
$javac Deleteslide.java
$java Deleteslide
Ele irá compilar e executar para gerar a seguinte saída -
reordering of the slides is done
O instantâneo abaixo é da apresentação antes de excluir o slide -
Depois de excluir o slide, a apresentação aparece da seguinte maneira -