Class XWPFPictureData

java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
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
  • Field Details

    • RELATIONS

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

    • 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 Details

    • onDocumentRead

      protected void onDocumentRead() throws IOException
      Description copied from class: POIXMLDocumentPart
      Fired when a package part is read
      Overrides:
      onDocumentRead in class POIXMLDocumentPart
      Throws:
      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 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.
    • 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:
    • getChecksum

      public Long getChecksum()
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class 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