Class Thumbnail

java.lang.Object
org.apache.poi.hpsf.Thumbnail

public final class Thumbnail extends Object

Class to manipulate data in the Clipboard Variant (VT_CF) format.

See Also:
  • Field Details

    • OFFSET_CFTAG

      public static final int OFFSET_CFTAG

      Offset in bytes where the Clipboard Format Tag starts in the byte[] returned by SummaryInformation.getThumbnail()

      See Also:
    • OFFSET_CF

      public static final int OFFSET_CF

      Offset in bytes where the Clipboard Format starts in the byte[] returned by SummaryInformation.getThumbnail()

      This is only valid if the Clipboard Format Tag is CFTAG_WINDOWS

      See Also:
    • OFFSET_WMFDATA

      public static final int OFFSET_WMFDATA

      Offset in bytes where the Windows Metafile (WMF) image data starts in the byte[] returned by SummaryInformation.getThumbnail()

      There is only WMF data at this point in the byte[] if the Clipboard Format Tag is CFTAG_WINDOWS and the Clipboard Format is CF_METAFILEPICT.

      Note: The byte[] that starts at OFFSET_WMFDATA and ends at getThumbnail().length - 1 forms a complete WMF image. It can be saved to disk with a .wmf file type and read using a WMF-capable image viewer.

      See Also:
    • CFTAG_WINDOWS

      public static final int CFTAG_WINDOWS

      Clipboard Format Tag - Windows clipboard format

      A DWORD indicating a built-in Windows clipboard format value

      See Also:
    • CFTAG_MACINTOSH

      public static final int CFTAG_MACINTOSH

      Clipboard Format Tag - Macintosh clipboard format

      A DWORD indicating a Macintosh clipboard format value

      See Also:
    • CFTAG_FMTID

      public static final int CFTAG_FMTID

      Clipboard Format Tag - Format ID

      A GUID containing a format identifier (FMTID). This is rarely used.

      See Also:
    • CFTAG_NODATA

      public static final int CFTAG_NODATA

      Clipboard Format Tag - No Data

      A DWORD indicating No data. This is rarely used.

      See Also:
    • CF_METAFILEPICT

      public static final int CF_METAFILEPICT

      Clipboard Format - Windows metafile format. This is the recommended way to store thumbnails in Property Streams.

      Note: This is not the same format used in regular WMF images. The clipboard version of this format has an extra clipboard-specific header.

      See Also:
    • CF_DIB

      public static final int CF_DIB

      Clipboard Format - Device Independent Bitmap

      See Also:
    • CF_ENHMETAFILE

      public static final int CF_ENHMETAFILE

      Clipboard Format - Enhanced Windows metafile format

      See Also:
    • CF_BITMAP

      public static final int CF_BITMAP

      Clipboard Format - Bitmap

      See Also:
  • Constructor Details

    • Thumbnail

      public Thumbnail()

      Default Constructor. If you use it then one you'll have to add the thumbnail byte[] from SummaryInformation.getThumbnail() to do any useful manipulations, otherwise you'll get a NullPointerException.

    • Thumbnail

      public Thumbnail(byte[] thumbnailData)

      Creates a Thumbnail instance and initializes with the specified image bytes.

      Parameters:
      thumbnailData - The thumbnail data
  • Method Details

    • getThumbnail

      public byte[] getThumbnail()

      Returns the thumbnail as a byte[] in VT_CF format.

      Returns:
      The thumbnail value
      See Also:
    • setThumbnail

      public void setThumbnail(byte[] thumbnail)

      Sets the Thumbnail's underlying byte[] in VT_CF format.

      Parameters:
      thumbnail - The new thumbnail value
      See Also:
    • getClipboardFormatTag

      public long getClipboardFormatTag()

      Returns an int representing the Clipboard Format Tag

      Possible return values are:

      Returns:
      A flag indicating the Clipboard Format Tag
    • getClipboardFormat

      public long getClipboardFormat() throws HPSFException

      Returns an int representing the Clipboard Format

      Will throw an exception if the Thumbnail's Clipboard Format Tag is not CFTAG_WINDOWS.

      Possible return values are:

      Returns:
      a flag indicating the Clipboard Format
      Throws:
      HPSFException - if the Thumbnail isn't CFTAG_WINDOWS
    • getThumbnailAsWMF

      public byte[] getThumbnailAsWMF() throws HPSFException

      Returns the Thumbnail as a byte[] of WMF data if the Thumbnail's Clipboard Format Tag is CFTAG_WINDOWS and its Clipboard Format is CF_METAFILEPICT

      This byte[] is in the traditional WMF file, not the clipboard-specific version with special headers.

      See http://www.wvware.com/caolan/ora-wmf.html for more information on the WMF image format.

      Returns:
      A WMF image of the Thumbnail
      Throws:
      HPSFException - if the Thumbnail isn't CFTAG_WINDOWS and CF_METAFILEPICT