Apache POI PPT - Folienverwaltung

Nach Abschluss dieses Kapitels können Sie Lese- und Schreibvorgänge auf einer Folie löschen, neu anordnen und ausführen.

Folie ändern

Wir können die Seitengröße einer Folie mit dem ändern setPageSize() Methode der XMLSlideShow Klasse.

Erstellen Sie zunächst eine Präsentation wie unten gezeigt -

File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");

//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

Holen Sie sich die Größe der aktuellen Folie mit der getPageSize() Methode der XMLSlideShow Klasse.

java.awt.Dimension pgsize = ppt.getPageSize();

Stellen Sie die Größe der Seite mit ein setPageSize() Methode.

ppt.setPageSize(new java.awt.Dimension(1024, 768));

Das vollständige Programm zum Ändern der Größe einer Folie finden Sie unten -

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();	
   }
}

Speichern Sie den obigen Java-Code als ChangingSlide.java, und kompilieren Sie es dann und führen Sie es an der Eingabeaufforderung wie folgt aus:

$javac ChangingSlide.java
$java ChangingSlide

Es wird kompiliert und ausgeführt, um die folgende Ausgabe zu generieren.

current page size of the presentation is : 
width :720
height :540
slide size changed to given dimensions

Im Folgenden finden Sie eine Momentaufnahme der Präsentation, bevor Sie die Foliengröße ändern.

Die Folie wird nach dem Ändern ihrer Größe wie folgt angezeigt:

Folien neu anordnen

Sie können die Folienreihenfolge mit einstellen setSlideOrder()Methode. Im Folgenden wird beschrieben, wie Sie die Reihenfolge der Folien festlegen.

Öffnen Sie ein vorhandenes PPT-Dokument wie unten gezeigt -

File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

Holen Sie sich die Folien mit dem getSlides() Methode wie unten gezeigt -

XSLFSlide[] slides = ppt.getSlides();

Wählen Sie eine Folie aus dem Array der Folien aus und ändern Sie die Reihenfolge mit setSlideOrder() Methode wie unten gezeigt -

//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];

//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);

Im Folgenden finden Sie das vollständige Programm zum Neuanordnen der Folien in einer Präsentation.

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();	
   }
}

Speichern Sie den obigen Java-Code als ReorderSlide.java, und kompilieren Sie es dann und führen Sie es an der Eingabeaufforderung wie folgt aus:

$javac ReorderSlide.java
$java ReorderSlide

Es wird kompiliert und ausgeführt, um die folgende Ausgabe zu generieren.

Reordering of the slides is done

Im Folgenden finden Sie den Schnappschuss der Präsentation vor der Neuordnung der Folien.

Nach dem Neuordnen der Folien wird die Präsentation wie folgt angezeigt. Hier haben wir die Folie mit Bild ausgewählt und nach oben verschoben.

Folien löschen

Sie können die Folien mit der löschen removeSlide()Methode. Führen Sie die folgenden Schritte aus, um Folien zu löschen.

Öffnen Sie eine vorhandene Präsentation mit dem XMLSlideShow Klasse wie unten gezeigt -

File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

Löschen Sie die gewünschte Folie mit der removeSlide()Methode. Diese Methode akzeptiert einen ganzzahligen Parameter. Übergeben Sie den Index der Folie, die gelöscht werden soll, an diese Methode.

ppt.removeSlide(1);

Im Folgenden finden Sie das Programm zum Löschen von Folien aus einer Präsentation.

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();	
   }
}

Speichern Sie den obigen Java-Code als Deleteslide.java, und kompilieren Sie es dann und führen Sie es an der Eingabeaufforderung wie folgt aus:

$javac Deleteslide.java
$java Deleteslide

Es wird kompiliert und ausgeführt, um die folgende Ausgabe zu generieren:

reordering of the slides is done

Der folgende Schnappschuss zeigt die Präsentation vor dem Löschen der Folie -

Nach dem Löschen der Folie wird die Präsentation wie folgt angezeigt: