org.apache.poi.hwpf.usermodel
Class Picture

java.lang.Object
  extended by org.apache.poi.hwpf.usermodel.Picture

public final class Picture
extends java.lang.Object

Represents embedded picture extracted from Word Document


Field Summary
static byte[] COMPRESSED1
           
static byte[] COMPRESSED2
           
static byte[] IHDR
           
 
Constructor Summary
Picture(EscherBlipRecord blipRecord)
          Builds a Picture object for a Picture stored as Escher.
Picture(int dataBlockStartOfsset, byte[] _dataStream, boolean fillBytes)
          Builds a Picture object for a Picture stored in the DataStream
 
Method Summary
 byte[] getContent()
           
 java.lang.String getDescription()
          returns the description stored in the alternative text
 int getDxaCropLeft()
          Deprecated. POI 3.8 beta 4.
 int getDxaCropRight()
          Deprecated. POI 3.8 beta 4.
 int getDxaGoal()
          Gets the initial width of the picture, in twips, prior to cropping or scaling.
 int getDyaCropBottom()
          Deprecated. POI 3.8 beta 5.
 int getDyaCropTop()
          Deprecated. POI 3.8 beta 5.
 int getDyaGoal()
          Gets the initial height of the picture, in twips, prior to cropping or scaling.
 int getHeight()
          returns pixel height of the picture or -1 if dimensions determining was failed
 int getHorizontalScalingFactor()
           
 java.lang.String getMimeType()
          Returns the MIME type for the image
 byte[] getRawContent()
          Returns picture's content as stored in the Word file, i.e.
 int getSize()
           
 int getStartOffset()
           
 int getVerticalScalingFactor()
           
 int getWidth()
          returns pixel width of the picture or -1 if dimensions determining was failed
 java.lang.String suggestFileExtension()
          tries to suggest extension for picture's file by matching signatures of popular image formats to first bytes of picture's contents
 java.lang.String suggestFullFileName()
          Tries to suggest a filename: hex representation of picture structure offset in "Data" stream plus extension that is tried to determine from first byte of picture's content.
 PictureType suggestPictureType()
           
 void writeImageContent(java.io.OutputStream out)
          Writes Picture's content bytes to specified OutputStream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMPRESSED1

public static final byte[] COMPRESSED1

COMPRESSED2

public static final byte[] COMPRESSED2

IHDR

public static final byte[] IHDR
Constructor Detail

Picture

public Picture(EscherBlipRecord blipRecord)
Builds a Picture object for a Picture stored as Escher. TODO We need to pass in the PICF data too somehow!


Picture

public Picture(int dataBlockStartOfsset,
               byte[] _dataStream,
               boolean fillBytes)
Builds a Picture object for a Picture stored in the DataStream

Method Detail

getContent

public byte[] getContent()
Returns:
picture's content as byte array

getDxaCropLeft

@Deprecated
public int getDxaCropLeft()
Deprecated. POI 3.8 beta 4.

Returns:
The amount the picture has been cropped on the left in twips

getDxaCropRight

@Deprecated
public int getDxaCropRight()
Deprecated. POI 3.8 beta 4.

Returns:
The amount the picture has been cropped on the right in twips

getDxaGoal

public int getDxaGoal()
Gets the initial width of the picture, in twips, prior to cropping or scaling.

Returns:
the initial width of the picture in twips

getDyaCropBottom

@Deprecated
public int getDyaCropBottom()
Deprecated. POI 3.8 beta 5.

Returns:
The amount the picture has been cropped on the bottom in twips

getDyaCropTop

@Deprecated
public int getDyaCropTop()
Deprecated. POI 3.8 beta 5.

Returns:
The amount the picture has been cropped on the top in twips

getDyaGoal

public int getDyaGoal()
Gets the initial height of the picture, in twips, prior to cropping or scaling.

Returns:
the initial width of the picture in twips

getHeight

public int getHeight()
returns pixel height of the picture or -1 if dimensions determining was failed


getHorizontalScalingFactor

public int getHorizontalScalingFactor()
Returns:
Horizontal scaling factor supplied by user expressed in .001% units

getMimeType

public java.lang.String getMimeType()
Returns the MIME type for the image

Returns:
MIME-type for known types of image or "image/unknown" if unknown

getRawContent

public byte[] getRawContent()
Returns picture's content as stored in the Word file, i.e. possibly in compressed form.

Returns:
picture's content as it stored in Word file or an empty byte array if it cannot be read.

getSize

public int getSize()
Returns:
size in bytes of the picture

getStartOffset

public int getStartOffset()
Returns:
The offset of this picture in the picture bytes, used when matching up with CharacterRun.getPicOffset()

getVerticalScalingFactor

public int getVerticalScalingFactor()
Returns:
Vertical scaling factor supplied by user expressed in .001% units

getWidth

public int getWidth()
returns pixel width of the picture or -1 if dimensions determining was failed


getDescription

public java.lang.String getDescription()
returns the description stored in the alternative text

Returns:
pictue description

suggestFileExtension

public java.lang.String suggestFileExtension()
tries to suggest extension for picture's file by matching signatures of popular image formats to first bytes of picture's contents

Returns:
suggested file extension

suggestFullFileName

public java.lang.String suggestFullFileName()
Tries to suggest a filename: hex representation of picture structure offset in "Data" stream plus extension that is tried to determine from first byte of picture's content.

Returns:
suggested file name

suggestPictureType

public PictureType suggestPictureType()

writeImageContent

public void writeImageContent(java.io.OutputStream out)
                       throws java.io.IOException
Writes Picture's content bytes to specified OutputStream. Is useful when there is need to write picture bytes directly to stream, omitting its representation in memory as distinct byte array.

Parameters:
out - a stream to write to
Throws:
java.io.IOException - if some exception is occured while writing to specified out


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