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.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文档显示如下 :

示例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后,您可以在幻灯片上添加,执行,读取和写入操作.