Package org.apache.poi.hslf.usermodel
Class HSLFSlideShow
- java.lang.Object
-
- org.apache.poi.hslf.usermodel.HSLFSlideShow
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,SlideShow<HSLFShape,HSLFTextParagraph>
public final class HSLFSlideShow extends java.lang.Object implements SlideShow<HSLFShape,HSLFTextParagraph>, java.io.Closeable
This class is a friendly wrapper on top of the more scary HSLFSlideShow. TODO: - figure out how to match notes to their correct sheet (will involve understanding DocSlideList and DocNotesList) - handle Slide creation cleaner
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
POWERPOINT_DOCUMENT
Powerpoint document entry/stream namestatic java.lang.String
PP95_DOCUMENT
-
Constructor Summary
Constructors Constructor Description HSLFSlideShow()
Constructs a new, empty, Powerpoint document.HSLFSlideShow(java.io.InputStream inputStream)
Constructs a Powerpoint document from an input stream.HSLFSlideShow(HSLFSlideShowImpl hslfSlideShow)
Constructs a Powerpoint document from the underlying HSLFSlideShow object.HSLFSlideShow(DirectoryNode root)
Constructs a Powerpoint document from an DirectoryNode.HSLFSlideShow(POIFSFileSystem npoifs)
Constructs a Powerpoint document from an POIFSFileSystem.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
addControl(java.lang.String name, java.lang.String progId)
Add a control in this presentationint
addEmbed(POIFSFileSystem poiData)
Add a embedded object to this presentationHSLFFontInfo
addFont(FontInfo fontInfo)
Add a font in this presentationint
addMovie(java.lang.String path, int type)
Add a movie in this presentationHSLFPictureData
addPicture(byte[] data, PictureData.PictureType format)
Adds a picture to the presentation.HSLFPictureData
addPicture(java.io.File pict, PictureData.PictureType format)
Adds a picture to the presentation.HSLFPictureData
addPicture(java.io.InputStream is, PictureData.PictureType format)
Adds a picture to the presentation.void
close()
MasterSheet<HSLFShape,HSLFTextParagraph>
createMasterSheet()
HSLFSlide
createSlide()
Create a blankSlide
.HSLFPictureData
findPictureData(byte[] pictureData)
check if a picture with this picture data already exists in this presentationDocument
getDocumentRecord()
Helper method for usermodel and model: Get the document recordHSLFObjectData[]
getEmbeddedObjects()
Returns the data of all the embedded OLE object in the SlideShowHSLFFontInfo
getFont(int idx)
Get a font by indexHPSFPropertiesExtractor
getMetadataTextExtractor()
Record[]
getMostRecentCoreRecords()
Returns an array of the most recent version of all the interesting recordsjava.util.List<HSLFNotes>
getNotes()
Returns an array of all the normal Notes found in the slideshowHeadersFooters
getNotesHeadersFooters()
Return Header / Footer settings for notesint
getNumberOfFonts()
get the number of fonts in the presentationjava.awt.Dimension
getPageSize()
Returns the current page sizejava.lang.Object
getPersistDocument()
java.util.List<HSLFPictureData>
getPictureData()
Returns all Pictures of this slideshow.Resources
getResources()
HeadersFooters
getSlideHeadersFooters()
Return Header / Footer settings for slidesjava.util.List<HSLFSlideMaster>
getSlideMasters()
Returns an array of all the normal Slide Masters found in the slideshowjava.util.List<HSLFSlide>
getSlides()
Returns an array of all the normal Slides found in the slideshowHSLFSlideShowImpl
getSlideShowImpl()
HSLFSoundData[]
getSoundData()
Returns the data of all the embedded sounds in the SlideShowjava.util.List<HSLFTitleMaster>
getTitleMasters()
Returns an array of all the normal Title Masters found in the slideshowHSLFSlide
removeSlide(int index)
Removes the slide at the given index (0-based).void
reorderSlide(int oldSlideNumber, int newSlideNumber)
Re-orders a slide, to a new position.void
setPageSize(java.awt.Dimension pgsize)
Change the current page sizevoid
write(java.io.OutputStream out)
Writes out the slideshow file the is represented by an instance of this class
-
-
-
Field Detail
-
POWERPOINT_DOCUMENT
public static final java.lang.String POWERPOINT_DOCUMENT
Powerpoint document entry/stream name- See Also:
- Constant Field Values
-
PP95_DOCUMENT
public static final java.lang.String PP95_DOCUMENT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
HSLFSlideShow
public HSLFSlideShow(HSLFSlideShowImpl hslfSlideShow)
Constructs a Powerpoint document from the underlying HSLFSlideShow object. Finds the model stuff from this- Parameters:
hslfSlideShow
- the HSLFSlideShow to base on
-
HSLFSlideShow
public HSLFSlideShow()
Constructs a new, empty, Powerpoint document.
-
HSLFSlideShow
public HSLFSlideShow(java.io.InputStream inputStream) throws java.io.IOException
Constructs a Powerpoint document from an input stream.- Throws:
java.io.IOException
-
HSLFSlideShow
public HSLFSlideShow(POIFSFileSystem npoifs) throws java.io.IOException
Constructs a Powerpoint document from an POIFSFileSystem.- Throws:
java.io.IOException
-
HSLFSlideShow
public HSLFSlideShow(DirectoryNode root) throws java.io.IOException
Constructs a Powerpoint document from an DirectoryNode.- Throws:
java.io.IOException
-
-
Method Detail
-
write
public void write(java.io.OutputStream out) throws java.io.IOException
Description copied from interface:SlideShow
Writes out the slideshow file the is represented by an instance of this class- Specified by:
write
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Parameters:
out
- The OutputStream to write to.- Throws:
java.io.IOException
- If there is an unexpected IOException from the passed in OutputStream
-
getMostRecentCoreRecords
public Record[] getMostRecentCoreRecords()
Returns an array of the most recent version of all the interesting records
-
getSlides
public java.util.List<HSLFSlide> getSlides()
Returns an array of all the normal Slides found in the slideshow- Specified by:
getSlides
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
-
getNotes
public java.util.List<HSLFNotes> getNotes()
Returns an array of all the normal Notes found in the slideshow
-
getSlideMasters
public java.util.List<HSLFSlideMaster> getSlideMasters()
Returns an array of all the normal Slide Masters found in the slideshow- Specified by:
getSlideMasters
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
-
getTitleMasters
public java.util.List<HSLFTitleMaster> getTitleMasters()
Returns an array of all the normal Title Masters found in the slideshow
-
getPictureData
public java.util.List<HSLFPictureData> getPictureData()
Description copied from interface:SlideShow
Returns all Pictures of this slideshow. The returnedList
is unmodifiable.- Specified by:
getPictureData
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Returns:
- a
List
ofPictureData
.
-
getEmbeddedObjects
public HSLFObjectData[] getEmbeddedObjects()
Returns the data of all the embedded OLE object in the SlideShow
-
getSoundData
public HSLFSoundData[] getSoundData()
Returns the data of all the embedded sounds in the SlideShow
-
getPageSize
public java.awt.Dimension getPageSize()
Description copied from interface:SlideShow
Returns the current page size- Specified by:
getPageSize
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Returns:
- the page size
-
setPageSize
public void setPageSize(java.awt.Dimension pgsize)
Description copied from interface:SlideShow
Change the current page size- Specified by:
setPageSize
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Parameters:
pgsize
- page size (in points)
-
getDocumentRecord
public Document getDocumentRecord()
Helper method for usermodel and model: Get the document record
-
reorderSlide
public void reorderSlide(int oldSlideNumber, int newSlideNumber)
Re-orders a slide, to a new position.- Parameters:
oldSlideNumber
- The old slide number (1 based)newSlideNumber
- The new slide number (1 based)
-
removeSlide
public HSLFSlide removeSlide(int index)
Removes the slide at the given index (0-based).Shifts any subsequent slides to the left (subtracts one from their slide numbers).
- Parameters:
index
- the index of the slide to remove (0-based)- Returns:
- the slide that was removed from the slide show.
-
createSlide
public HSLFSlide createSlide()
Create a blankSlide
.- Specified by:
createSlide
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Returns:
- the created
Slide
-
addPicture
public HSLFPictureData addPicture(byte[] data, PictureData.PictureType format) throws java.io.IOException
Description copied from interface:SlideShow
Adds a picture to the presentation.- Specified by:
addPicture
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Parameters:
data
- The bytes of the pictureformat
- The format of the picture.- Returns:
- the picture data reference.
- Throws:
java.io.IOException
-
addPicture
public HSLFPictureData addPicture(java.io.InputStream is, PictureData.PictureType format) throws java.io.IOException
Adds a picture to the presentation.- Specified by:
addPicture
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Parameters:
is
- The stream to read the image fromformat
- The format of the picture.- Returns:
- the picture data.
- Throws:
java.io.IOException
- Since:
- 3.15 beta 2
-
addPicture
public HSLFPictureData addPicture(java.io.File pict, PictureData.PictureType format) throws java.io.IOException
Adds a picture to the presentation.- Specified by:
addPicture
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Parameters:
pict
- the file containing the image to addformat
- The format of the picture.- Returns:
- the picture data.
- Throws:
java.io.IOException
- Since:
- 3.15 beta 2
-
findPictureData
public HSLFPictureData findPictureData(byte[] pictureData)
check if a picture with this picture data already exists in this presentation- Specified by:
findPictureData
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Parameters:
pictureData
- The picture data to find in the SlideShow- Returns:
null
if picture data is not found in this slideshow- Since:
- 3.15 beta 3
-
addFont
public HSLFFontInfo addFont(FontInfo fontInfo)
Add a font in this presentation- Parameters:
fontInfo
- the font to add- Returns:
- the registered HSLFFontInfo - the font info object is unique based on the typeface
-
getFont
public HSLFFontInfo getFont(int idx)
Get a font by index- Parameters:
idx
- 0-based index of the font- Returns:
- of an instance of
PPFont
ornull
if not found
-
getNumberOfFonts
public int getNumberOfFonts()
get the number of fonts in the presentation- Returns:
- number of fonts
-
getSlideHeadersFooters
public HeadersFooters getSlideHeadersFooters()
Return Header / Footer settings for slides- Returns:
- Header / Footer settings for slides
-
getNotesHeadersFooters
public HeadersFooters getNotesHeadersFooters()
Return Header / Footer settings for notes- Returns:
- Header / Footer settings for notes
-
addMovie
public int addMovie(java.lang.String path, int type)
Add a movie in this presentation- Parameters:
path
- the path or url to the movie- Returns:
- 0-based index of the movie
-
addControl
public int addControl(java.lang.String name, java.lang.String progId)
Add a control in this presentation- Parameters:
name
- name of the control, e.g. "Shockwave Flash Object"progId
- OLE Programmatic Identifier, e.g. "ShockwaveFlash.ShockwaveFlash.9"- Returns:
- 0-based index of the control
-
addEmbed
public int addEmbed(POIFSFileSystem poiData)
Add a embedded object to this presentation- Returns:
- 0-based index of the embedded object
-
getMetadataTextExtractor
public HPSFPropertiesExtractor getMetadataTextExtractor()
- Specified by:
getMetadataTextExtractor
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Returns:
- an extractor for the slideshow metadata
-
createMasterSheet
public MasterSheet<HSLFShape,HSLFTextParagraph> createMasterSheet()
- Specified by:
createMasterSheet
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
-
getResources
public Resources getResources()
- Specified by:
getResources
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
-
getSlideShowImpl
@Internal public HSLFSlideShowImpl getSlideShowImpl()
- Returns:
- the handler class which holds the hslf records
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
getPersistDocument
public java.lang.Object getPersistDocument()
- Specified by:
getPersistDocument
in interfaceSlideShow<HSLFShape,HSLFTextParagraph>
- Returns:
- the instance which handles the persisting of the slideshow,
which is either a subclass of
POIDocument
orPOIXMLDocument
-
-