Apache POI PPT - слияние
Вы можете объединить несколько презентаций, используя importContent() метод XMLSlideShowкласс. Ниже приведена полная программа для объединения двух презентаций -
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 MergingMultiplePresentations {
public static void main(String args[]) throws IOException {
//creating empty presentation
XMLSlideShow ppt = new XMLSlideShow();
//taking the two presentations that are to be merged
String file1 = "presentation1.pptx";
String file2 = "presentation2.pptx";
String[] inputs = {file1, file2};
for(String arg : inputs){
FileInputStream inputstream = new FileInputStream(arg);
XMLSlideShow src = new XMLSlideShow(inputstream);
for(XSLFSlide srcSlide : src.getSlides()) {
//merging the contents
ppt.createSlide().importContent(srcSlide);
}
}
String file3 = "combinedpresentation.pptx";
//creating the file object
FileOutputStream out = new FileOutputStream(file3);
// saving the changes to a file
ppt.write(out);
System.out.println("Merging done successfully");
out.close();
}
}
Сохраните приведенный выше код как MergingMultiplePresentations.java, а затем скомпилируйте и выполните его из командной строки следующим образом:
$javac MergingMultiplePresentations.java
$java MergingMultiplePresentations
Он будет скомпилирован и выполнен для генерации следующего вывода -
Merging done successfully
На следующем снимке показана первая презентация -

На следующем снимке показана вторая презентация -

Ниже приведен результат работы программы после объединения двух слайдов. Здесь вы можете увидеть объединенное содержимое предыдущих слайдов.
