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: