Apache POI PPT - 演示文稿
通常,我们使用 MS-PowerPoint 创建演示文稿。现在让我们看看如何使用 Java 创建演示文稿。完成本章后,您将能够创建新的 MS-PowerPoint 演示文稿并使用 Java 程序打开现有的 PPT。
创建空演示文稿
要创建空演示文稿,您必须实例化 org.poi.xslf.usermodel 包的 XMLSlideShow 类 −
XMLSlideShow ppt = new XMLSlideShow();
使用 FileOutputStream 类将更改保存到 PPT 文档 −
File file = new File("C://POIPPT//Examples//example1.pptx");
FileOutputStream out = new FileOutputStream(file);
ppt.write(out);
下面给出了创建空白 MS-PowerPoint 演示文稿的完整程序。
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
public class CreatePresentation {
public static void main(String args[]) throws IOException {
//创建一个新的空幻灯片
XMLSlideShow ppt = new XMLSlideShow();
//创建一个 FileOutputStream 对象
File file = new File("example1.pptx");
FileOutputStream out = new FileOutputStream(file);
//将更改保存到文件
ppt.write(out);
System.out.println("演示文稿创建成功");
out.close();
}
}
将上述 Java 代码保存为 CreatePresentation.java,然后从命令提示符中编译并执行,如下所示 −
$javac CreatePresentation.java $java CreatePresentation
如果您的系统环境配置了 POI 库,它将编译并执行以在当前目录中生成一个名为 example1.pptx 的空白 PPT 文件,并在命令提示符上显示以下输出 −
演示文稿创建成功
空白 PowerPoint 文档显示如下 −
编辑现有演示文稿
要打开现有演示文稿,请实例化XMLSlideShow 类,并将要编辑的文件的 FileInputStream 对象作为参数传递给 XMLSlideShow 构造函数。
File file = new File("C://POIPPT//Examples//example1.pptx");
FileInputstream inputstream = new FileInputStream(file);
XMLSlideShow ppt = new XMLSlideShow(inputstream);
您可以使用 XMLSlideShow 类的 createSlide() 方法将幻灯片添加到演示文稿中,该类位于 org.poi.xslf.usermodel 包中。
XSLFSlide slide1 = ppt.createSlide();
下面给出了打开和添加幻灯片到现有 PPT 的完整程序 −
import java.io.File;
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 EditPresentation {
public static void main(String ar[]) throws IOException {
//打开现有幻灯片
File file = new File("example1.pptx");
FileInputStream inputstream = new FileInputStream(file);
XMLSlideShow ppt = new XMLSlideShow(inputstream);
//将幻灯片添加到幻灯片中
XSLFSlide slide1 = ppt.createSlide();
XSLFSlide slide2 = ppt.createSlide();
//保存更改
FileOutputStream out = new FileOutputStream(file);
ppt.write(out);
System.out.println("演示文稿已成功编辑");
out.close();
}
}
将上述 Java 代码保存为 EditPresentation.java,然后从命令提示符编译并执行,如下所示 −
$javac EditPresentation.java $java EditPresentation
它将编译并执行以生成以下输出 −
演示文稿已成功编辑
新添加幻灯片后输出的 PPT 文档如下所示 −
将幻灯片添加到 PPT 后,您可以对幻灯片进行添加、执行、读取和写入操作。

