codecamp

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


Apache POI PPT - 类和方法
Apache POI PPT - 幻灯片布局
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }