Class XSLFPictureData

java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
org.apache.poi.xslf.usermodel.XSLFPictureData
All Implemented Interfaces:
PictureData

@Beta public final class XSLFPictureData extends POIXMLDocumentPart implements PictureData
Instantiates sub-classes of POIXMLDocumentPart depending on their relationship type
  • Constructor Details

    • XSLFPictureData

      protected XSLFPictureData()
      Create a new XSLFGraphicData node
    • XSLFPictureData

      public XSLFPictureData(PackagePart part)
      Construct XSLFPictureData from a package part
      Parameters:
      part - the package part holding the drawing data
      Since:
      POI 3.14-Beta1
  • Method Details

    • getInputStream

      public InputStream getInputStream() throws IOException
      An InputStream to read the picture data directly from the underlying package part
      Returns:
      InputStream
      Throws:
      IOException
    • getData

      public byte[] getData()
      Gets the picture data as a byte array. You can grab the picture data directly from the underlying package part with the getInputStream() method
      Specified by:
      getData in interface PictureData
      Returns:
      the Picture data.
    • getFileName

      public String getFileName()
      Returns the file name of the image, eg image7.jpg . The original filename isn't always available, but if it can be found it's likely to be in the CTDrawing
    • suggestFileExtension

      public String suggestFileExtension()
      Suggests a file extension for this image.
      Returns:
      the file extension.
    • getChecksum

      public byte[] getChecksum()
      Description copied from interface: PictureData
      Gets the checksum - the checksum can be of various length - mostly it's 8 (XSLF) or 16 (HSLF) bytes long.
      Specified by:
      getChecksum in interface PictureData
      Returns:
      the checksum
    • getImageDimension

      public Dimension getImageDimension()
      Description copied from interface: PictureData
      Return the original image dimensions in points (for formats supported by BufferedImage). Will return a Dimension with a default width of 200x200 if the format unsupported.
      Specified by:
      getImageDimension in interface PictureData
    • getImageDimensionInPixels

      public Dimension getImageDimensionInPixels()
      Description copied from interface: PictureData
      Return the original image dimensions in pixels
      Specified by:
      getImageDimensionInPixels in interface PictureData
      See Also:
    • cacheProperties

      protected void cacheProperties()
      Determine and cache image properties
    • prepareForCommit

      protected void prepareForCommit()
      *PictureData objects store the actual content in the part directly without keeping a copy like all others therefore we need to handle them differently.
      Overrides:
      prepareForCommit in class POIXMLDocumentPart
    • getContentType

      public String getContentType()
      Description copied from interface: PictureData
      Returns content type (mime type) of this picture.
      Specified by:
      getContentType in interface PictureData
      Returns:
      content type of this picture.
    • setData

      public void setData(byte[] data) throws IOException
      Description copied from interface: PictureData
      Sets the binary picture data
      Specified by:
      setData in interface PictureData
      Parameters:
      data - picture data
      Throws:
      IOException
    • getType

      public PictureData.PictureType getType()
      Specified by:
      getType in interface PictureData
      Returns:
      the picture type
    • getIndex

      public int getIndex()
      Returns:
      the 0-based index of this pictures within the picture parts
    • setIndex

      public void setIndex(int index)
      Parameters:
      index - sets the 0-based index of this pictures within the picture parts