org.apache.poi.xssf.usermodel
Class XSSFPictureData

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xssf.usermodel.XSSFPictureData
All Implemented Interfaces:
PictureData

public class XSSFPictureData
extends POIXMLDocumentPart
implements PictureData

Raw picture data, normally attached to a SpreadsheetML Drawing. As a rule, pictures are stored in the /xl/media/ part of a SpreadsheetML package.


Field Summary
protected static POIXMLRelation[] RELATIONS
          Relationships for each known picture type
 
Fields inherited from class org.apache.poi.POIXMLDocumentPart
DEFAULT_XML_OPTIONS
 
Constructor Summary
protected XSSFPictureData()
          Create a new XSSFPictureData node
protected XSSFPictureData(PackagePart part, PackageRelationship rel)
          Construct XSSFPictureData from a package part
 
Method Summary
 byte[] getData()
          Gets the picture data as a byte array.
 int getPictureType()
          Return an integer constant that specifies type of this picture
 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, getRelations, onDocumentCreate, onDocumentRead, onSave, read, removeRelation, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RELATIONS

protected static final POIXMLRelation[] RELATIONS
Relationships for each known picture type

Constructor Detail

XSSFPictureData

protected XSSFPictureData()
Create a new XSSFPictureData node

See Also:
XSSFWorkbook.addPicture(byte[], int)

XSSFPictureData

protected XSSFPictureData(PackagePart part,
                          PackageRelationship rel)
Construct XSSFPictureData 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

getData

public byte[] getData()
Gets the picture data as a byte array.

Note, that this call might be expensive since all the picture data is copied into a temporary byte array. You can grab the picture data directly from the underlying package part as follows:
InputStream is = getPackagePart().getInputStream();

Specified by:
getData in interface PictureData
Returns:
the picture data.

suggestFileExtension

public java.lang.String suggestFileExtension()
Suggests a file extension for this image.

Specified by:
suggestFileExtension in interface PictureData
Returns:
the file extension.

getPictureType

public int getPictureType()
Return an integer constant that specifies type of this picture

Returns:
an integer constant that specifies type of this picture
See Also:
Workbook.PICTURE_TYPE_EMF, Workbook.PICTURE_TYPE_WMF, Workbook.PICTURE_TYPE_PICT, Workbook.PICTURE_TYPE_JPEG, Workbook.PICTURE_TYPE_PNG, Workbook.PICTURE_TYPE_DIB


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