Apache POI XSLF
Open-Source-Java-API für PPTX-Präsentationen
Erstellen, Bearbeiten und Zusammenführen von Microsoft PowerPoint OOXML-Präsentationen über die Java-Bibliothek.
Apache POI XLSF ist eine Java-Implementierung zum Lesen, Erstellen oder Bearbeiten von PowerPoint-PPTX-Dateien. Es bietet die notwendige Funktionalität für die Arbeit mit dem OOXML-Dateiformat von PowerPoint 2007 und ermöglicht es Entwicklern, Daten wie Text, Bilder, eingebettete Objekte und mehr aus PowerPoint PPTX-Präsentationen zu extrahieren. Entwickler können einer Folie auch Formen hinzufügen, Hyperlinks und Bilder verwalten, Videos hinzufügen und PPTX in SVG konvertieren.
Erste Schritte mit Apache POI XLSF
Zunächst muss das Java Development Kit (JDK) auf Ihrem System installiert sein. Wenn Sie es bereits haben, gehen Sie zur Downloadseite von Apache POI, um die neueste stabile Version in einem Archiv zu erhalten. Extrahieren Sie den Inhalt der ZIP-Datei in ein beliebiges Verzeichnis, aus dem die benötigten Bibliotheken mit Ihrem Java-Programm verknüpft werden können. Das ist alles!
Das Referenzieren von Apache POI in Ihrem Maven-basierten Java-Projekt ist sogar noch einfacher. Alles, was Sie brauchen, ist, die folgende Abhängigkeit in Ihrer pom.xml hinzuzufügen und Ihre IDE die Apache POI-Jar-Dateien abrufen und referenzieren zu lassen.
Apache POI Maven-Abhängigkeit
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
Java-API zum Erstellen neuer Präsentationen und zum Anhängen einer Folie an eine vorhandene Datei
Apache POI XLSF ermöglicht Computerprogrammierern, neue PowerPoint-Präsentationen im PPTX-Dateiformat von Grund auf neu zu erstellen. Entwickler können auch eine vorhandene Präsentation nach ihren Bedürfnissen umwandeln. Es bietet die Möglichkeit, die vorhandenen Präsentationen zu lesen und zu ändern sowie Folien nach Bedarf an die vorhandene Präsentation anzuhängen.
Präsentation erstellen & Folie hinzufügen - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
Erstellen Sie eine neue Folie aus einem vordefinierten Folienlayout in Java-Apps
Die Apache POI XLSF-API bietet Unterstützung für das Hinzufügen neuer Folien aus einem vordefinierten Folienlayout innerhalb der PPTX-Präsentation. Folienlayouts enthalten Formatierungs-, Positionierungs- und Platzhalterfelder für alle Inhalte, die auf einer Folie erscheinen. PowerPoint-Präsentationen haben mehrere Folienlayouts; Zunächst müssen Sie sehen, welche Folienlayouts verwendet werden können. Es gibt verschiedene Folienmaster und in jedem Folienmaster gibt es mehrere Folienlayouts.
Titellayoutfolie - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slidelayout.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// initialize slide master object
XSLFSlideMaster xslfSlideMaster = xmlSlideShow.getSlideMasters().get(0);
// set Title layout
XSLFSlideLayout xslfSlideLayout = xslfSlideMaster.getLayout(SlideLayout.TITLE);
// create a new slide with title layout
XSLFSlide xslfSlide = xmlSlideShow.createSlide(xslfSlideLayout);
// select place holder
XSLFTextShape xslfTextShape = xslfSlide.getPlaceholder(0);
// set title
xslfTextShape.setText("Test");
// save file
xmlSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
Führen Sie mehrere PPTX-Präsentationen mit Java zusammen
Haben Sie mehrere PPTX-Präsentationen, die Sie zu einer Präsentation kombinieren möchten? Apache POI XLSF-APIs können Ihnen sicherlich helfen und ermöglichen es Java-Entwicklern, ihre mehreren PPTX-Dateien zusammenzuführen.
Präsentationsfolien zusammenführen - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream("MergegSlide.pptx");
// select two PPTX files
String[] inputFiles = {"Slide.pptx", "SlideLayout.pptx"};
// create a new slide show
XMLSlideShow slideShow = new XMLSlideShow();
// merge slides
for(String file : inputFiles){
FileInputStream inputstream = new FileInputStream(file);
XMLSlideShow xmlSlideShow = new XMLSlideShow(inputstream);
for(XSLFSlide srcSlide : xmlSlideShow.getSlides()) {
slideShow.createSlide().importContent(srcSlide);
}
}
// saving file
slideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();