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[] BMP
           
static byte[] COMPRESSED1
           
static byte[] COMPRESSED2
           
static byte[] EMF
           
static byte[] GIF
           
static byte[] IHDR
           
static byte[] JPG
           
static byte[] PNG
           
static byte[] TIFF
           
static byte[] TIFF1
           
static byte[] WMF1
           
static byte[] WMF2
           
 
Constructor Summary
Picture(org.apache.poi.ddf.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
 int getAspectRatioX()
          Deprecated. use more precise getHorizontalScalingFactor()
 int getAspectRatioY()
          Deprecated. use more precise getVerticalScalingFactor()
 byte[] getContent()
           
 int getDxaCropLeft()
           
 int getDxaCropRight()
           
 int getDxaGoal()
          Gets the initial width of the picture, in twips, prior to cropping or scaling.
 int getDyaCropBottom()
           
 int getDyaCropTop()
           
 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 it stored in 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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BMP

public static final byte[] BMP

COMPRESSED1

public static final byte[] COMPRESSED1

COMPRESSED2

public static final byte[] COMPRESSED2

EMF

public static final byte[] EMF

GIF

public static final byte[] GIF

IHDR

public static final byte[] IHDR

JPG

public static final byte[] JPG

PNG

public static final byte[] PNG

TIFF

public static final byte[] TIFF

TIFF1

public static final byte[] TIFF1

WMF1

public static final byte[] WMF1

WMF2

public static final byte[] WMF2
Constructor Detail

Picture

public Picture(org.apache.poi.ddf.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

getAspectRatioX

public int getAspectRatioX()
Deprecated. use more precise getHorizontalScalingFactor()

Returns:
the horizontal aspect ratio for picture provided by user

getAspectRatioY

public int getAspectRatioY()
Deprecated. use more precise getVerticalScalingFactor()

Returns:
the vertical aspect ratio for picture provided by user

getContent

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

getDxaCropLeft

public int getDxaCropLeft()
Returns:
The amount the picture has been cropped on the left in twips

getDxaCropRight

public int getDxaCropRight()
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

public int getDyaCropBottom()
Returns:
The amount the picture has been cropped on the bottom in twips

getDyaCropTop

public int getDyaCropTop()
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 it stored in Word file, i.e. possibly in compressed form.

Returns:
picture's content as it stored in Word file

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


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