org.apache.poi.sl.usermodel

## Interface SlideShow<S extends Shape<S,P>,P extends TextParagraph<S,P,? extends TextRun>>

- All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable
  All Known Implementing Classes:
    HSLFSlideShow, XMLSlideShow

      public interface SlideShow<S extends Shape<S,P>,P extends TextParagraph<S,P,? extends TextRun>>
      extends java.io.Closeable

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `FontInfo` | `addFont(java.io.InputStream fontData)` Add an EOT font to the slideshow.
    `PictureData` | `addPicture(byte[] pictureData, PictureData.PictureType format)` Adds a picture to the presentation.
    `PictureData` | `addPicture(java.io.File pict, PictureData.PictureType format)` Adds a picture to the presentation.
    `PictureData` | `addPicture(java.io.InputStream is, PictureData.PictureType format)` Adds a picture to the presentation.
    `MasterSheet<S,P>` | `createMasterSheet()`
    `Slide<S,P>` | `createSlide()`
    `PictureData` | `findPictureData(byte[] pictureData)` check if a picture with this picture data already exists in this presentation
    `java.util.List<? extends FontInfo>` | `getFonts()`
    `POITextExtractor` | `getMetadataTextExtractor()`
    `java.awt.Dimension` | `getPageSize()` Returns the current page size
    `java.lang.Object` | `getPersistDocument()`
    `java.util.List<? extends PictureData>` | `getPictureData()` Returns all Pictures of this slideshow.
    `java.util.List<? extends MasterSheet<S,P>>` | `getSlideMasters()` Returns all slide masters.
    `java.util.List<? extends Slide<S,P>>` | `getSlides()`
    `void` | `setPageSize(java.awt.Dimension pgsize)` Change the current page size
    `void` | `write(java.io.OutputStream out)` Writes out the slideshow file the is represented by an instance of this class

    - ### Methods inherited from interface java.io.Closeable

      `close`

- - ### Method Detail

    - #### createSlide

          Slide<S,P> createSlide()
                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getSlides

          java.util.List<? extends Slide<S,P>> getSlides()

    - #### createMasterSheet

          MasterSheet<S,P> createMasterSheet()
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getSlideMasters

          java.util.List<? extends MasterSheet<S,P>> getSlideMasters()

      Returns all slide masters. This doesn't include notes master and other arbitrary masters.

    - #### getPageSize

          java.awt.Dimension getPageSize()

      Returns the current page size
      Returns:
        the page size

    - #### setPageSize

          void setPageSize(java.awt.Dimension pgsize)

      Change the current page size
      Parameters:
        `pgsize` - page size (in points)

    - #### getPictureData

          java.util.List<? extends PictureData> getPictureData()

      Returns all Pictures of this slideshow. The returned `List` is unmodifiable.
      Returns:
        a `List` of `PictureData`.

    - #### addPicture

          PictureData addPicture(byte[] pictureData,
                                 PictureData.PictureType format)
                          throws java.io.IOException

      Adds a picture to the presentation.
      Parameters:
        `pictureData` - The bytes of the picture
        `format` - The format of the picture.
      Returns:
        the picture data reference.
      Throws:
        `java.io.IOException`

    - #### addPicture

          PictureData addPicture(java.io.InputStream is,
                                 PictureData.PictureType format)
                          throws java.io.IOException

      Adds a picture to the presentation.
      Parameters:
        `is` - The stream to read the image from
        `format` - The format of the picture.
      Returns:
        the picture data reference.
      Throws:
        `java.io.IOException`
      Since:
        3.15 beta 1

    - #### addPicture

          PictureData addPicture(java.io.File pict,
                                 PictureData.PictureType format)
                          throws java.io.IOException

      Adds a picture to the presentation.
      Parameters:
        `pict` - The file containing the image to add
        `format` - The format of the picture.
      Returns:
        the picture data reference
      Throws:
        `java.io.IOException`
      Since:
        3.15 beta 1

    - #### findPictureData

          PictureData findPictureData(byte[] pictureData)

      check if a picture with this picture data already exists in this presentation
      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

    - #### write

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

      Writes out the slideshow file the is represented by an instance of this class
      Parameters:
        `out` - The OutputStream to write to.
      Throws:
        `java.io.IOException` - If there is an unexpected IOException from the passed in OutputStream

    - #### getMetadataTextExtractor

          POITextExtractor getMetadataTextExtractor()

      Returns:
        an extractor for the slideshow metadata
      Since:
        POI 4.0.0

    - #### getPersistDocument

          java.lang.Object getPersistDocument()

      Returns:
        the instance which handles the persisting of the slideshow, which is either a subclass of `POIDocument` or `POIXMLDocument`
      Since:
        POI 4.0.0

    - #### addFont

          FontInfo addFont(java.io.InputStream fontData)
                    throws java.io.IOException

      Add an EOT font to the slideshow. An EOT or MTX font is a transformed True-Type (.ttf) or Open-Type (.otf) font. To transform a True-Type font use the sfntly library (see "see also" below)

      (Older?) Powerpoint versions handle embedded fonts by converting them to .ttf files and put them into the Windows fonts directory. If the user is not allowed to install fonts, the slideshow can't be opened. While the slideshow is opened, its possible to copy the extracted .ttfs from the fonts directory. When the slideshow is closed, they will be removed.

      Parameters:
        `fontData` - the EOT font as stream
      Returns:
        the font info object containing the new font data
      Throws:
        `java.io.IOException` - if the fontData can't be saved or if the fontData is no EOT font
      See Also:
        EOT specification, googles sfntly library, Example on how to subset and embed fonts

    - #### getFonts

          java.util.List<? extends FontInfo> getFonts()

      Returns:
        a list of registered fonts

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