Class 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 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.
      • 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