org.apache.poi.xwpf.usermodel
Class XWPFPictureData

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xwpf.usermodel.XWPFPictureData

public class XWPFPictureData
extends POIXMLDocumentPart

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

Author:
Philipp Epp

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.poi.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
 
Field Summary
protected static POIXMLRelation[] RELATIONS
          Relationships for each known picture type
 
Constructor Summary
protected XWPFPictureData()
          Create a new XWPFGraphicData node
  XWPFPictureData(PackagePart part)
          Construct XWPFPictureData from a package part
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 java.lang.Long getChecksum()
           
 byte[] getData()
          Gets the picture data as a byte array.
 java.lang.String getFileName()
          Returns the file name of the image, eg image7.jpg .
 int getPictureType()
          Return an integer constant that specifies type of this picture
 int hashCode()
           
protected  void onDocumentRead()
          Fired when a package part is read
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.
 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, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

RELATIONS

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

Constructor Detail

XWPFPictureData

protected XWPFPictureData()
Create a new XWPFGraphicData node


XWPFPictureData

public XWPFPictureData(PackagePart part)
Construct XWPFPictureData from a package part

Parameters:
part - the package part holding the drawing data,
Since:
POI 3.14-Beta1
Method Detail

onDocumentRead

protected void onDocumentRead()
                       throws java.io.IOException
Description copied from class: POIXMLDocumentPart
Fired when a package part is read

Overrides:
onDocumentRead in class POIXMLDocumentPart
Throws:
java.io.IOException - a subclass may throw an IOException when a document is read

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();

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.

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:
Document.PICTURE_TYPE_EMF, Document.PICTURE_TYPE_WMF, Document.PICTURE_TYPE_PICT, Document.PICTURE_TYPE_JPEG, Document.PICTURE_TYPE_PNG, Document.PICTURE_TYPE_DIB

getChecksum

public java.lang.Long getChecksum()

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

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


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