Apache POI PPT - 合并
您可以使用 XMLSlideShow 类的 importContent() 方法合并多个演示文稿。下面给出了合并两个演示文稿的完整程序 −
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 { //创建空演示文稿 XMLSlideShow ppt = new XMLSlideShow(); //获取要合并的两个演示文稿 String file1 = "presentation1.pptx"; String file2 = "presentation2.pptx"; String[] input = {file1, file2}; for(String arg : input){ FileInputStream inputstream = new FileInputStream(arg); XMLSlideShow src = new XMLSlideShow(inputstream); for(XSLFSlide srcSlide : src.getSlides()) { //合并内容 ppt.createSlide().importContent(srcSlide); } } String file3 = "combinedpresentation.pptx"; //创建文件对象 FileOutputStream out = new FileOutputStream(file3); // 将更改保存到文件 ppt.write(out); System.out.println("合并成功"); out.close(); } }
将上述代码保存为 MergingMultiplePresentations.java,然后从命令提示符编译并执行如下 −
$javac MergingMultiplePresentations.java $java MergingMultiplePresentations
它将编译并执行以生成以下输出 −
合并成功完成
以下快照显示第一个演示文稿 −

以下快照显示第二个演示文稿 −

下面是合并两张幻灯片后程序的输出。在这里您可以看到合并在一起的早期幻灯片的内容。
