Apache POI PPT - Управление слайдами
После завершения этой главы вы сможете удалять, изменять порядок и выполнять операции чтения и записи на слайде.
Смена слайда
Мы можем изменить размер страницы слайда, используя setPageSize() метод XMLSlideShow класс.
Первоначально создайте презентацию, как показано ниже -
File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");
//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Получите размер текущего слайда с помощью getPageSize() метод XMLSlideShow класс.
java.awt.Dimension pgsize = ppt.getPageSize();
Установите размер страницы с помощью setPageSize() метод.
ppt.setPageSize(new java.awt.Dimension(1024, 768));
Полная программа для изменения размера слайда приведена ниже -
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();
}
}
Сохраните приведенный выше код Java как ChangingSlide.java, а затем скомпилируйте и выполните его из командной строки следующим образом:
$javac ChangingSlide.java
$java ChangingSlide
Он скомпилируется и выполнится для получения следующего вывода.
current page size of the presentation is :
width :720
height :540
slide size changed to given dimensions
Ниже приведен снимок презентации до изменения размера слайда -
После изменения размера слайд выглядит следующим образом -
Изменение порядка слайдов
Вы можете установить порядок слайдов, используя setSlideOrder()метод. Ниже приведена процедура установки порядка слайдов.
Откройте существующий документ PPT, как показано ниже -
File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Получите слайды с помощью getSlides() метод, как показано ниже -
XSLFSlide[] slides = ppt.getSlides();
Выберите слайд из массива слайдов и измените порядок, используя setSlideOrder() метод, как показано ниже -
//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];
//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);
Ниже приведена полная программа для изменения порядка слайдов в презентации.
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();
}
}
Сохраните приведенный выше код Java как ReorderSlide.java, а затем скомпилируйте и выполните его из командной строки следующим образом:
$javac ReorderSlide.java
$java ReorderSlide
Он скомпилируется и выполнится для получения следующего вывода.
Reordering of the slides is done
Ниже приведен снимок презентации до изменения порядка слайдов -
После изменения порядка слайдов презентация выглядит следующим образом. Здесь мы выбрали слайд с изображением и переместили его наверх.
Удаление слайдов
Вы можете удалить слайды с помощью removeSlide()метод. Следуйте инструкциям ниже, чтобы удалить слайды.
Откройте существующую презентацию, используя XMLSlideShow класс, как показано ниже -
File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Удалите нужный слайд, используя removeSlide()метод. Этот метод принимает целочисленный параметр. Передайте этому методу индекс слайда, который нужно удалить.
ppt.removeSlide(1);
Ниже приведена программа для удаления слайдов из презентации -
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();
}
}
Сохраните приведенный выше код Java как Deleteslide.java, а затем скомпилируйте и выполните его из командной строки следующим образом:
$javac Deleteslide.java
$java Deleteslide
Он будет скомпилирован и выполнен для генерации следующего вывода -
reordering of the slides is done
Снимок ниже представляет собой презентацию до удаления слайда -
После удаления слайда презентация выглядит следующим образом -