org.apache.poi.xslf.usermodel
Class XSLFPictureData

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by 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


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.poi.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
 
Nested classes/interfaces inherited from interface org.apache.poi.sl.usermodel.PictureData
PictureData.PictureType
 
Constructor Summary
protected XSLFPictureData()
          Create a new XSLFGraphicData node
  XSLFPictureData(PackagePart part)
          Construct XSLFPictureData from a package part
 
Method Summary
protected  void cacheProperties()
          Determine and cache image properties
 byte[] getChecksum()
           
 java.lang.String getContentType()
           
 byte[] getData()
          Gets the picture data as a byte array.
 java.lang.String getFileName()
          Returns the file name of the image, eg image7.jpg .
 java.awt.Dimension getImageDimension()
           
 java.awt.Dimension getImageDimensionInPixels()
           
 int getIndex()
           
 java.io.InputStream getInputStream()
          An InputStream to read the picture data directly from the underlying package part
 PictureData.PictureType getType()
           
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.
 void setData(byte[] data)
           
 void setIndex(int index)
           
 java.lang.String suggestFileExtension()
          Suggests a file extension for this image.
 
Methods inherited from class org.apache.poi.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, commit, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationParts, getRelations, getTargetPart, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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 Detail

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
An InputStream to read the picture data directly from the underlying package part

Returns:
InputStream
Throws:
java.io.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 java.lang.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 java.lang.String suggestFileExtension()
Suggests a file extension for this image.

Returns:
the file extension.

getChecksum

public byte[] getChecksum()
Specified by:
getChecksum in interface PictureData

getImageDimension

public java.awt.Dimension getImageDimension()
Specified by:
getImageDimension in interface PictureData

getImageDimensionInPixels

public java.awt.Dimension getImageDimensionInPixels()
Specified by:
getImageDimensionInPixels in interface PictureData

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 java.lang.String getContentType()
Specified by:
getContentType in interface PictureData

setData

public void setData(byte[] data)
             throws java.io.IOException
Specified by:
setData in interface PictureData
Throws:
java.io.IOException

getType

public PictureData.PictureType getType()
Specified by:
getType in interface PictureData

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