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

它将编译并执行以生成以下输出 −

合并成功完成

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

Presentation1

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

Presentation2

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

Combined Presentation