In this example we are going to create a PowerPoint slide.
Create PowerPoint Slide Using Java
In this example we are going to create a PowerPoint slide .
HWSL is used to make the Microsoft PowerPoint 97(-2003) file format by pure Java. It supports read and write capabilities of some, but not yet all of the core records.
HSSF provides a way to read PowerPoint presentations, and extracts text from it. It also provides some edit capabilities (currently limited).
The org.apache.poi.hslf.extractor.PowerPointExtractor class is used to extract text from PowerPoint. It accepts a file or an input stream. The getText() method can be used to get the text from the slides, and the getNotes() method is used to get the text from the notes. The getText(true,true) is used to get the text from both.
To create a slide show we need org.apache.poi.hslf.usermodel.SlideShow. To accepts a file or an input stream we need a org.apache.poi.hslf.HSLFSlideShow. We use getSlides() and getNotes() to get the slides and notes.
To get blocks of text we need getTextRuns().
The getTextAsString() and getTextAsVector() are two methods which are used to get the text back. The getTextAsString() returns a single string with all the text in it and getTextAsVector() returns a vector of strings, one for each text record found in the file.
We can change the text via TextRun.setText(String) or RichTextRun.setText(String). But it is not yet possible to add additional TextRuns or RichTextRuns.
We can add new slides by calling SlideShow.createSlide(), which will add a new slide to the end of the SlideShow. It is not possible to re-order slides, nor to add new text to slides tile now .But currently we can add Escher objects.
The following classes can be used to create the PowerPoint presentations.
The org.apache.poi.hslf.HSLFSlideShow class handles reading in and writing out files. The org.apache.poi.hslf.record.Record class is used to build a tree of all the records in the file. This allows to access the record. The org.apache.poi.hslf.record.Record class is base class of all records and also provides the main record generation code, which will build up a tree of records for a file. The org.apache.poi.hslf.usermodel.SlideShow class is builds up model entries from the records, and presents a user facing view of the file. The org.apache.poi.hslf.model.Slide class is used to define a user facing view of a Slide in a SlideShow. The org.apache.poi.hslf.model.Slide class allows us to get at the Text of the slide, and at any drawing objects on it. The org.apache.poi.hslf.model.TextRun class is used to hold all the Text in a given area of the Slide, and will contain one or more RichTextRuns. The org.apache.poi.hslf.usermodel.RichTextRun class is used to hold a run of text, all having the same character and paragraph styling. It is possible to modify text, and/or text styling. The org.apache.poi.hslf.extractor.PowerPointExtractor is used to allow extraction of text from files. The org.apache.poi.hslf.extractor.QuickButCruddyTextExtractor class is used to extract all the text from files very fast, but including deleted text and other bits of Crud.
In this example we are creating a PowerPoint presentation. For this we are creating the object of SlideShow after that we are creating an object of slide and an object of file output to create a .ppt file .
The code of the program is given below:
import org.apache.poi.hslf.HSLFSlideShow;
|
The output of the program is given below: