Apache POI PPT - 演示文稿



通常,我们使用 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.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 {
      //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 文档如下所示 -

Example PowerPoint

编辑现有演示文稿

要打开现有演示文稿,请实例化 XMLSlideShow 类并将要编辑的文件的 FileInputStream 对象作为参数传递给 XMLSlideShow 构造函数。

File file = new File("C://POIPPT//Examples//example1.pptx");
FileInputstream inputstream = new FileInputStream(file);
XMLSlideShow ppt = new XMLSlideShow(inputstream);

您可以使用 org.poi.xslf.usermodel 包中 XMLSlideShow 类的 createSlide() 方法将幻灯片添加到演示文稿中。

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 slideshow
      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 文档如下所示 -

Edit Example

在向 PPT 添加幻灯片后,您可以对幻灯片进行添加、执行、读取和写入操作。

广告