Class HSLFSlideShow

    • 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 - If reading data from the stream fails
        java.lang.RuntimeException - a number of runtime exceptions can be thrown, especially if there are problems with the input format
      • HSLFSlideShow

        public HSLFSlideShow​(POIFSFileSystem poifs)
                      throws java.io.IOException
        Constructs a Powerpoint document from an POIFSFileSystem.
        Throws:
        java.io.IOException - If reading data from the file-system fails
        java.lang.RuntimeException - a number of runtime exceptions can be thrown, especially if there are problems with the input format
      • HSLFSlideShow

        public HSLFSlideShow​(DirectoryNode root)
                      throws java.io.IOException
        Constructs a Powerpoint document from an DirectoryNode.
        Throws:
        java.io.IOException - If reading data from the DirectoryNode fails
        java.lang.RuntimeException - a number of runtime exceptions can be thrown, especially if there are problems with the input format
    • Method Detail

      • setMaxRecordLength

        public static void setMaxRecordLength​(int length)
        Parameters:
        length - the max record length allowed for HSLFSlideShow
      • getMaxRecordLength

        public static int getMaxRecordLength()
        Returns:
        the max record length allowed for HSLFSlideShow
      • getCoreRecordForSAS

        public Record getCoreRecordForSAS​(SlideListWithText.SlideAtomsSet sas)
        For a given SlideAtomsSet, return the core record, based on the refID from the SlidePersistAtom
      • getCoreRecordForRefID

        public Record getCoreRecordForRefID​(int refID)
        For a given refID (the internal, 0 based numbering scheme), return the core record
        Parameters:
        refID - the refID
      • write

        public void write​(java.io.OutputStream out)
                   throws java.io.IOException
        Description copied from class: POIDocument
        Writes the document out to the specified output stream. The stream is not closed as part of this operation. Note - if the Document was opened from a File rather than an InputStream, you must write out using POIDocument.write() or to a different File. Overwriting the currently open file via an OutputStream isn't possible. If stream is a FileOutputStream on a networked drive or has a high cost/latency associated with each written byte, consider wrapping the OutputStream in a BufferedOutputStream to improve write performance, or use POIDocument.write() / POIDocument.write(File) if possible.
        Specified by:
        write in interface SlideShow<HSLFShape,​HSLFTextParagraph>
        Specified by:
        write in class POIDocument
        Parameters:
        out - The stream to write to.
        Throws:
        java.io.IOException - thrown on errors writing to the stream
      • 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
        Description copied from class: POIDocument
        Closes the underlying POIFSFileSystem from which the document was read, if any. Has no effect on documents opened from an InputStream, or newly created ones.

        Once close() has been called, no further operations should be called on the document.

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class POIDocument
        Throws:
        java.io.IOException
      • getGenericProperties

        public java.util.Map<java.lang.String,​java.util.function.Supplier<?>> getGenericProperties()
        Specified by:
        getGenericProperties in interface GenericRecord
      • write

        public void write()
                   throws java.io.IOException
        Description copied from class: POIDocument
        Writes the document out to the currently open File, via the writeable POIFSFileSystem it was opened from.

        This will fail (with an IllegalStateException if the document was opened read-only, opened from an InputStream instead of a File, or if this is not the root document. For those cases, you must use POIDocument.write(OutputStream) or POIDocument.write(File) to write to a brand new document.

        Specified by:
        write in class POIDocument
        Throws:
        java.io.IOException - thrown on errors writing to the file
      • write

        public void write​(java.io.File newFile)
                   throws java.io.IOException
        Description copied from class: POIDocument
        Writes the document out to the specified new File. If the file exists, it will be replaced, otherwise a new one will be created
        Specified by:
        write in class POIDocument
        Parameters:
        newFile - The new File to write to.
        Throws:
        java.io.IOException - thrown on errors writing to the file
      • getSummaryInformation

        public SummaryInformation getSummaryInformation()
        Description copied from class: POIDocument
        Fetch the Summary Information of the document
        Overrides:
        getSummaryInformation in class POIDocument
        Returns:
        The Summary information for the document or null if it could not be read for this document.
      • createInformationProperties

        public void createInformationProperties()
        Description copied from class: POIDocument
        Will create whichever of SummaryInformation and DocumentSummaryInformation (HPSF) properties are not already part of your document. This is normally useful when creating a new document from scratch. If the information properties are already there, then nothing will happen.
        Overrides:
        createInformationProperties in class POIDocument
      • readProperties

        public void readProperties()
        Description copied from class: POIDocument
        Find, and create objects for, the standard Document Information Properties (HPSF). If a given property set is missing or corrupt, it will remain null;
        Overrides:
        readProperties in class POIDocument
      • writeProperties

        public void writeProperties​(POIFSFileSystem outFS)
                             throws java.io.IOException
        Description copied from class: POIDocument
        Writes out the standard Document Information Properties (HPSF)
        Overrides:
        writeProperties in class POIDocument
        Parameters:
        outFS - the POIFSFileSystem to write the properties into
        Throws:
        java.io.IOException - if an error when writing to the POIFSFileSystem occurs