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 -