Apache POI PPT - Zarządzanie slajdami
Po ukończeniu tego rozdziału będziesz mógł usuwać slajdy, zmieniać ich kolejność oraz wykonywać operacje odczytu i zapisu.
Zmiana slajdu
Możemy zmienić rozmiar strony slajdu za pomocą setPageSize() metoda XMLSlideShow klasa.
Najpierw utwórz prezentację, jak pokazano poniżej -
File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");
//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Uzyskaj rozmiar bieżącego slajdu za pomocą getPageSize() metoda XMLSlideShow klasa.
java.awt.Dimension pgsize = ppt.getPageSize();
Ustaw rozmiar strony za pomocą setPageSize() metoda.
ppt.setPageSize(new java.awt.Dimension(1024, 768));
Pełny program zmiany rozmiaru slajdu przedstawiono poniżej -
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();
}
}
Zapisz powyższy kod Java jako ChangingSlide.java, a następnie skompiluj i wykonaj go z wiersza polecenia w następujący sposób -
$javac ChangingSlide.java
$java ChangingSlide
Skompiluje się i wykona, aby wygenerować następujące dane wyjściowe.
current page size of the presentation is :
width :720
height :540
slide size changed to given dimensions
Poniżej podano migawkę prezentacji przed zmianą rozmiaru slajdu -
Slajd wygląda następująco po zmianie jego rozmiaru -
Zmiana kolejności slajdów
Możesz ustawić kolejność slajdów za pomocą setSlideOrder()metoda. Poniżej podano procedurę ustawiania kolejności slajdów.
Otwórz istniejący dokument PPT, jak pokazano poniżej -
File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Pobierz slajdy za pomocą getSlides() metoda, jak pokazano poniżej -
XSLFSlide[] slides = ppt.getSlides();
Wybierz slajd z tablicy slajdów i zmień kolejność za pomocą setSlideOrder() metoda, jak pokazano poniżej -
//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];
//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);
Poniżej podano pełny program zmiany kolejności slajdów w prezentacji -
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();
}
}
Zapisz powyższy kod Java jako ReorderSlide.java, a następnie skompiluj i wykonaj go z wiersza polecenia w następujący sposób -
$javac ReorderSlide.java
$java ReorderSlide
Skompiluje się i wykona, aby wygenerować następujące dane wyjściowe.
Reordering of the slides is done
Poniżej przedstawiono migawkę prezentacji przed zmianą kolejności slajdów -
Po zmianie kolejności slajdów prezentacja wygląda następująco. Tutaj wybraliśmy slajd z obrazem i przenieśliśmy go na górę.
Usuwanie slajdów
Możesz usunąć slajdy za pomocą removeSlide()metoda. Wykonaj czynności podane poniżej, aby usunąć slajdy.
Otwórz istniejącą prezentację przy użyciu XMLSlideShow klasa, jak pokazano poniżej -
File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Usuń żądany slajd za pomocą removeSlide()metoda. Ta metoda akceptuje parametr będący liczbą całkowitą. Przekaż indeks slajdu, który ma zostać usunięty, do tej metody.
ppt.removeSlide(1);
Poniżej podano program do usuwania slajdów z prezentacji -
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();
}
}
Zapisz powyższy kod Java jako Deleteslide.java, a następnie skompiluj i wykonaj go z wiersza polecenia w następujący sposób -
$javac Deleteslide.java
$java Deleteslide
Skompiluje się i uruchomi, aby wygenerować następujące dane wyjściowe -
reordering of the slides is done
Poniższy zrzut ekranu przedstawia prezentację przed usunięciem slajdu -
Po usunięciu slajdu prezentacja wygląda następująco -