Apache POI PPT - Formen lesen

Mit der Methode können Sie die Anzahl der in einer Präsentation verwendeten Formen ermitteln getShapeName() des XSLFShapeKlasse. Im Folgenden finden Sie das Programm zum Lesen der Formen 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;
import org.apache.poi.xslf.usermodel.XSLFShape;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class ReadingShapes {
   
   public static void main(String args[]) throws IOException {
      
      //creating a slideshow 
      File file = new File("shapes.pptx");
      XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
      
      //get slides 
      XSLFSlide[] slide = ppt.getSlides();
      
      //getting the shapes in the presentation
      System.out.println("Shapes in the presentation:");
      for (int i = 0; i < slide.length; i++){
         
         XSLFShape[] sh = slide[i].getShapes();
         for (int j = 0; j < sh.length; j++){
            
            //name of the shape
            System.out.println(sh[j].getShapeName());
         }
      }
      
      FileOutputStream out = new FileOutputStream(file);
      ppt.write(out);
      out.close();	
   }
}

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

$javac ReadingShapes.java
$java ReadingShapes

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

Shapes in the presentation: 
Rectangle 1
Oval 1
Isosceles Triangle 1

Die neu hinzugefügte Folie mit den verschiedenen Formen sieht wie folgt aus: