Generally, we use MS-PowerPoint to create presentations. Now let us see how to create presentations using Java. After completion of this chapter, you will be able to create new MS-PowerPoint presentations and open existing PPTs with your Java program.
To create an empty presentation, you have to instantiate the XMLSlideShow class of the org.poi.xslf.usermodel package −
XMLSlideShow ppt = new XMLSlideShow();
Save the changes to a PPT document using the FileOutputStream class −
File file = new File("C://POIPPT//Examples//example1.pptx"); FileOutputStream out = new FileOutputStream(file); ppt.write(out);
Given below is the complete program to create a blank MS-PowerPoint presentation.
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() } }
Save the above Java code as CreatePresentation.java, and then compile and execute it from the command prompt as follows −
$javac CreatePresentation.java $java CreatePresentation
If your system environment is configured with the POI library, it will compile and execute to generate a blank PPT file named example1.pptx in your current directory and display the following output on the command prompt −
Presentation created successfully
The blank PowerPoint document appears as follows −
To open an existing presentation, instantiate the XMLSlideShow class and pass the FileInputStream object of the file to be edited, as an argument to the XMLSlideShow constructor.
File file = new File(“C://POIPPT//Examples//example1.pptx”); FileInputstream inputstream = new FileInputStream(file); XMLSlideShow ppt = new XMLSlideShow(inputstream);
You can add slides to a presentation using the createSlide() method of the XMLSlideShow class which is in the org.poi.xslf.usermodel package.
XSLFSlide slide1 = ppt.createSlide();
Given below is the complete program to open and add slides to an existing 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(); } }
Save the above Java code as EditPresentation.java, and then compile and execute it from the command prompt as follows −
$javac EditPresentation.java $java EditPresentation
It will compile and execute to generate the following output −
slides successfully added
The output PPT document with newly added slides looks as follows −
After adding slides to a PPT, you can add, perform, read, and write operations on the slides.