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.StringPOWERPOINT_DOCUMENTPowerpoint document entry/stream namestatic java.lang.StringPP95_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 intaddControl(java.lang.String name, java.lang.String progId)Add a control in this presentationintaddEmbed(POIFSFileSystem poiData)Add a embedded object to this presentationHSLFFontInfoaddFont(FontInfo fontInfo)Add a font in this presentationintaddMovie(java.lang.String path, int type)Add a movie in this presentationHSLFPictureDataaddPicture(byte[] data, PictureData.PictureType format)Adds a picture to the presentation.HSLFPictureDataaddPicture(java.io.File pict, PictureData.PictureType format)Adds a picture to the presentation.HSLFPictureDataaddPicture(java.io.InputStream is, PictureData.PictureType format)Adds a picture to the presentation.voidclose()MasterSheet<HSLFShape,HSLFTextParagraph>createMasterSheet()HSLFSlidecreateSlide()Create a blankSlide.HSLFPictureDatafindPictureData(byte[] pictureData)check if a picture with this picture data already exists in this presentationDocumentgetDocumentRecord()Helper method for usermodel and model: Get the document recordHSLFObjectData[]getEmbeddedObjects()Returns the data of all the embedded OLE object in the SlideShowHSLFFontInfogetFont(int idx)Get a font by indexHPSFPropertiesExtractorgetMetadataTextExtractor()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 slideshowHeadersFootersgetNotesHeadersFooters()Return Header / Footer settings for notesintgetNumberOfFonts()get the number of fonts in the presentationjava.awt.DimensiongetPageSize()Returns the current page sizejava.lang.ObjectgetPersistDocument()java.util.List<HSLFPictureData>getPictureData()Returns all Pictures of this slideshow.ResourcesgetResources()HeadersFootersgetSlideHeadersFooters()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 slideshowHSLFSlideShowImplgetSlideShowImpl()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 slideshowHSLFSlideremoveSlide(int index)Removes the slide at the given index (0-based).voidreorderSlide(int oldSlideNumber, int newSlideNumber)Re-orders a slide, to a new position.voidsetPageSize(java.awt.Dimension pgsize)Change the current page sizevoidwrite(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.IOExceptionConstructs 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.IOExceptionDescription copied from interface:SlideShowWrites out the slideshow file the is represented by an instance of this class- Specified by:
writein 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:
getSlidesin 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:
getSlideMastersin 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:SlideShowReturns all Pictures of this slideshow. The returnedListis unmodifiable.- Specified by:
getPictureDatain interfaceSlideShow<HSLFShape,HSLFTextParagraph>- Returns:
- a
ListofPictureData.
-
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:SlideShowReturns the current page size- Specified by:
getPageSizein interfaceSlideShow<HSLFShape,HSLFTextParagraph>- Returns:
- the page size
-
setPageSize
public void setPageSize(java.awt.Dimension pgsize)
Description copied from interface:SlideShowChange the current page size- Specified by:
setPageSizein 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:
createSlidein interfaceSlideShow<HSLFShape,HSLFTextParagraph>- Returns:
- the created
Slide
-
addPicture
public HSLFPictureData addPicture(byte[] data, PictureData.PictureType format) throws java.io.IOException
Description copied from interface:SlideShowAdds a picture to the presentation.- Specified by:
addPicturein 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:
addPicturein 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:
addPicturein 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:
findPictureDatain interfaceSlideShow<HSLFShape,HSLFTextParagraph>- Parameters:
pictureData- The picture data to find in the SlideShow- Returns:
nullif 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
PPFontornullif 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:
getMetadataTextExtractorin interfaceSlideShow<HSLFShape,HSLFTextParagraph>- Returns:
- an extractor for the slideshow metadata
-
createMasterSheet
public MasterSheet<HSLFShape,HSLFTextParagraph> createMasterSheet()
- Specified by:
createMasterSheetin interfaceSlideShow<HSLFShape,HSLFTextParagraph>
-
getResources
public Resources getResources()
- Specified by:
getResourcesin 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:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
getPersistDocument
public java.lang.Object getPersistDocument()
- Specified by:
getPersistDocumentin interfaceSlideShow<HSLFShape,HSLFTextParagraph>- Returns:
- the instance which handles the persisting of the slideshow,
which is either a subclass of
POIDocumentorPOIXMLDocument
-
-