Class 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 Detail

      • POWERPOINT_DOCUMENT

        public static final java.lang.String POWERPOINT_DOCUMENT
        Powerpoint document entry/stream name
        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 interface SlideShow<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
      • getNotes

        public java.util.List<HSLFNotes> getNotes()
        Returns an array of all the normal Notes found in the slideshow
      • getTitleMasters

        public java.util.List<HSLFTitleMaster> getTitleMasters()
        Returns an array of all the normal Title Masters found in the slideshow
      • 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
      • 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.
      • 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 interface SlideShow<HSLFShape,​HSLFTextParagraph>
        Parameters:
        is - The stream to read the image from
        format - 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 interface SlideShow<HSLFShape,​HSLFTextParagraph>
        Parameters:
        pict - the file containing the image to add
        format - 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 interface SlideShow<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 or null 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
      • 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 interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException