Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.hslf.usermodel
Class HSLFSlideShowImpl

    java.lang.Object
      org.apache.poi.POIDocument
          org.apache.poi.hslf.usermodel.HSLFSlideShowImpl

All Implemented Interfaces:
  java.io.Closeable

    public final class HSLFSlideShowImpl

extends POIDocument
implements java.io.Closeable

This class contains the main functionality for the Powerpoint file "reader". It is only a very basic class for now

Field Summary
`static int` | `UNSET_OFFSET`

Constructor Summary
`HSLFSlideShowImpl(DirectoryNode dir)` Constructs a Powerpoint document from a specific point in a POIFS Filesystem.
`HSLFSlideShowImpl(java.io.InputStream inputStream)` Constructs a Powerpoint document from an input stream.
`HSLFSlideShowImpl(NPOIFSFileSystem filesystem)` Constructs a Powerpoint document from a POIFS Filesystem.
`HSLFSlideShowImpl(POIFSFileSystem filesystem)` Constructs a Powerpoint document from a POIFS Filesystem.
`HSLFSlideShowImpl(java.lang.String fileName)` Constructs a Powerpoint document from fileName.

Method Summary
`int` | `addPicture(HSLFPictureData img)` Add a new picture to this presentation.
`int` | `appendRootLevelRecord(Record newRecord)` Adds a new root level record, at the end, but before the last PersistPtrIncrementalBlock.
`void` | `close()` Closes the underlying `NPOIFSFileSystem` from which the document was read, if any.
`static HSLFSlideShowImpl` | `create()` Constructs a new, empty, Powerpoint document.
`CurrentUserAtom` | `getCurrentUserAtom()` Fetch the Current User Atom of the document
`DocumentEncryptionAtom` | `getDocumentEncryptionAtom()`
`HSLFObjectData[]` | `getEmbeddedObjects()` Gets embedded object data from the slide show.
`protected java.lang.String` | `getEncryptedPropertyStreamName()`
`EncryptionInfo` | `getEncryptionInfo()`
`java.util.List<HSLFPictureData>` | `getPictureData()` Return list of pictures contained in this presentation
`protected DirectoryNode` | `getPOIFSDirectory()` Deprecated. POI 3.16 beta 1. use `POIDocument.getDirectory()` instead
`Record[]` | `getRecords()` Returns an array of all the records found in the slideshow
`byte[]` | `getUnderlyingBytes()` Returns an array of the bytes of the file.
`void` | `normalizeRecords()` remove duplicated UserEditAtoms and merge PersistPtrHolder, i.e.
`void` | `updateAndWriteDependantRecords(java.io.OutputStream os, java.util.Map<RecordTypes,PositionDependentRecord> interestingRecords)` This is a helper functions, which is needed for adding new position dependent records or finally write the slideshow to a file.
`void` | `write()` Writes out the slideshow to the currently open file.
`void` | `write(java.io.File newFile)` Writes out the slideshow file the is represented by an instance of this class.
`void` | `write(java.io.File newFile, boolean preserveNodes)` Writes out the slideshow file the is represented by an instance of this class.
`void` | `write(java.io.OutputStream out)` Writes out the slideshow file the is represented by an instance of this class.
`void` | `write(java.io.OutputStream out, boolean preserveNodes)` Writes out the slideshow file the is represented by an instance of this class.

Methods inherited from class org.apache.poi.POIDocument
`clearDirectory, createInformationProperties, getDirectory, getDocumentSummaryInformation, getPropertySet, getPropertySet, getSummaryInformation, initDirectory, readProperties, replaceDirectory, validateInPlaceWritePossible, writeProperties, writeProperties, writeProperties, writePropertySet`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### UNSET_OFFSET

    public static final int UNSET_OFFSET

See Also:
  Constant Field Values

Constructor Detail

### HSLFSlideShowImpl

    public HSLFSlideShowImpl(java.lang.String fileName)
                      throws java.io.IOException

  Constructs a Powerpoint document from fileName. Parses the document and places all the important stuff into data structures.

  Parameters:
    `fileName` - The name of the file to read.
  Throws:
    `java.io.IOException` - if there is a problem while parsing the document.

### HSLFSlideShowImpl

    public HSLFSlideShowImpl(java.io.InputStream inputStream)
                      throws java.io.IOException

  Constructs a Powerpoint document from an input stream. Parses the document and places all the important stuff into data structures.

  Parameters:
    `inputStream` - the source of the data
  Throws:
    `java.io.IOException` - if there is a problem while parsing the document.

### HSLFSlideShowImpl

    public HSLFSlideShowImpl(POIFSFileSystem filesystem)
                      throws java.io.IOException

  Constructs a Powerpoint document from a POIFS Filesystem. Parses the document and places all the important stuff into data structures.

  Parameters:
    `filesystem` - the POIFS FileSystem to read from
  Throws:
    `java.io.IOException` - if there is a problem while parsing the document.

### HSLFSlideShowImpl

    public HSLFSlideShowImpl(NPOIFSFileSystem filesystem)
                      throws java.io.IOException

  Constructs a Powerpoint document from a POIFS Filesystem. Parses the document and places all the important stuff into data structures.

  Parameters:
    `filesystem` - the POIFS FileSystem to read from
  Throws:
    `java.io.IOException` - if there is a problem while parsing the document.

### HSLFSlideShowImpl

    public HSLFSlideShowImpl(DirectoryNode dir)
                      throws java.io.IOException

  Constructs a Powerpoint document from a specific point in a POIFS Filesystem. Parses the document and places all the important stuff into data structures.

  Parameters:
    `dir` - the POIFS directory to read from
  Throws:
    `java.io.IOException` - if there is a problem while parsing the document.

Method Detail

### getPOIFSDirectory

    @Deprecated
    @Removal(version="3.18")
    protected DirectoryNode getPOIFSDirectory()

  Deprecated. POI 3.16 beta 1. use `POIDocument.getDirectory()` instead

  Returns the directory in the underlying POIFSFileSystem for the document that is open.

### create

    public static final HSLFSlideShowImpl create()

  Constructs a new, empty, Powerpoint document.

### getDocumentEncryptionAtom

    public DocumentEncryptionAtom getDocumentEncryptionAtom()

### normalizeRecords

    public void normalizeRecords()

  remove duplicated UserEditAtoms and merge PersistPtrHolder, i.e. remove document edit history

### updateAndWriteDependantRecords

    public void updateAndWriteDependantRecords(java.io.OutputStream os,
                                               java.util.Map<RecordTypes,PositionDependentRecord> interestingRecords)
                                        throws java.io.IOException

  This is a helper functions, which is needed for adding new position dependent records or finally write the slideshow to a file.

  Parameters:
    `os` - the stream to write to, if null only the references are updated
    `interestingRecords` - a map of interesting records (PersistPtrHolder and UserEditAtom) referenced by their RecordType. Only the very last of each type will be saved to the map. May be null, if not needed.
  Throws:
    `java.io.IOException`

### write

    public void write()
               throws java.io.IOException

  Writes out the slideshow to the currently open file.

  This will fail (with an `IllegalStateException` if the slideshow 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 `write(OutputStream)` or `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
    `java.lang.IllegalStateException` - if this isn't from a writable File
  Since:
    POI 3.15 beta 3

### write

    public void write(java.io.File newFile)
               throws java.io.IOException

  Writes out the slideshow file the is represented by an instance of this class.

  This will write out only the common OLE2 streams. If you require all streams to be written out, use `write(File, boolean)` with `preserveNodes` set to `true`.

  Specified by:
    `write` in class `POIDocument`
  Parameters:
    `newFile` - The File to write to.
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from writing to the File

### write

    public void write(java.io.File newFile,
                      boolean preserveNodes)
               throws java.io.IOException

  Writes out the slideshow file the is represented by an instance of this class. If you require all streams to be written out (eg Marcos, embeded documents), then set `preserveNodes` set to `true`

  Parameters:
    `newFile` - The File to write to.
    `preserveNodes` - Should all OLE2 streams be written back out, or only the common ones?
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from writing to the File

### write

    public void write(java.io.OutputStream out)
               throws java.io.IOException

  Writes out the slideshow file the is represented by an instance of this class.

  This will write out only the common OLE2 streams. If you require all streams to be written out, use `write(OutputStream, boolean)` with `preserveNodes` set to `true`.

  Specified by:
    `write` in class `POIDocument`
  Parameters:
    `out` - The OutputStream to write to.
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from the passed in OutputStream

### write

    public void write(java.io.OutputStream out,
                      boolean preserveNodes)
               throws java.io.IOException

  Writes out the slideshow file the is represented by an instance of this class. If you require all streams to be written out (eg Marcos, embeded documents), then set `preserveNodes` set to `true`

  Parameters:
    `out` - The OutputStream to write to.
    `preserveNodes` - Should all OLE2 streams be written back out, or only the common ones?
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from the passed in OutputStream

### getEncryptionInfo

    public EncryptionInfo getEncryptionInfo()
                                     throws java.io.IOException

  Overrides:
    `getEncryptionInfo` in class `POIDocument`
  Returns:
    the encryption info if the document is encrypted, otherwise `null`
  Throws:
    `java.io.IOException`

### appendRootLevelRecord

    public int appendRootLevelRecord(Record newRecord)

  Adds a new root level record, at the end, but before the last PersistPtrIncrementalBlock.

### addPicture

    public int addPicture(HSLFPictureData img)

  Add a new picture to this presentation.

  Returns:
    offset of this picture in the Pictures stream

### getRecords

    public Record[] getRecords()

  Returns an array of all the records found in the slideshow

### getUnderlyingBytes

    public byte[] getUnderlyingBytes()

  Returns an array of the bytes of the file. Only correct after a call to open or write - at all other times might be wrong!

### getCurrentUserAtom

    public CurrentUserAtom getCurrentUserAtom()

  Fetch the Current User Atom of the document

### getPictureData

    public java.util.List<HSLFPictureData> getPictureData()

  Return list of pictures contained in this presentation

  Returns:
    list with the read pictures or an empty list if the presentation doesn't contain pictures.

### getEmbeddedObjects

    public HSLFObjectData[] getEmbeddedObjects()

  Gets embedded object data from the slide show.

  Returns:
    the embedded objects.

### close

    public void close()
               throws java.io.IOException

  Description copied from class: `POIDocument`
  Closes the underlying `NPOIFSFileSystem` from which the document was read, if any. Has no effect on documents opened from an InputStream, or newly created ones.

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

  Specified by:
    `close` in interface `java.io.Closeable`
  Overrides:
    `close` in class `POIDocument`
  Throws:
    `java.io.IOException`

### getEncryptedPropertyStreamName

    protected java.lang.String getEncryptedPropertyStreamName()

  Overrides:
    `getEncryptedPropertyStreamName` in class `POIDocument`
  Returns:
    the stream name of the property set collection, if the document is encrypted

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.