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