org.apache.poi.xwpf.usermodel

## 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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart

      `POIXMLDocumentPart.RelationPart`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static POIXMLRelation[]` | `RELATIONS` Relationships for each known picture type

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `XWPFPictureData()` Create a new XWPFGraphicData node
    `` | `XWPFPictureData(PackagePart part)` Construct XWPFPictureData from a package part

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.ooxml.POIXMLDocumentPart

      `_invokeOnDocumentRead, addRelation, commit, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommited, isCommitted, onDocumentCreate, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, removeRelation, setCommited, setCommitted, 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 2020 The Apache Software Foundation or its licensors, as applicable.