Apache Poi Ppt 简明教程

Apache POI PPT - Merging

你可以使用 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 {

      //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

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

presentation1

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

presentation2

以下是合并两个幻灯片后程序的输出结果。在这里,你可以看到将前面幻灯片的内容合并在一起。

combinedPresentation