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 interface org.apache.poi.sl.usermodel.PictureData
PictureData.PictureType
 
Field Summary
 
Fields inherited from class org.apache.poi.POIXMLDocumentPart
DEFAULT_XML_OPTIONS
 
Constructor Summary
protected XSLFPictureData()
          Create a new XSLFGraphicData node
  XSLFPictureData(PackagePart part, PackageRelationship rel)
          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
addRelation, commit, createRelationship, createRelationship, createRelationship, getPackagePart, getPackageRelationship, getParent, getRelationById, getRelationId, 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,
                       PackageRelationship rel)
Construct XSLFPictureData from a package part

Parameters:
part - the package part holding the drawing data,
rel - the package relationship holding this drawing, the relationship type must be http://schemas.openxmlformats.org/officeDocument/2006/relationships/image
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