Class PdfImageObject

java.lang.Object
com.itextpdf.text.pdf.parser.PdfImageObject

public class PdfImageObject extends Object
An object that contains an image dictionary and image bytes.
Since:
5.0.2
  • Field Details

    • dictionary

      private PdfDictionary dictionary
      The image dictionary.
    • imageBytes

      private byte[] imageBytes
      The decoded image bytes (after applying filters), or the raw image bytes if unable to decode
    • colorSpaceDic

      private PdfDictionary colorSpaceDic
    • pngColorType

      private int pngColorType
    • pngBitDepth

      private int pngBitDepth
    • width

      private int width
    • height

      private int height
    • bpc

      private int bpc
    • palette

      private byte[] palette
    • icc

      private byte[] icc
    • stride

      private int stride
    • streamContentType

      private PdfImageObject.ImageBytesType streamContentType
      Tracks the type of data that is actually stored in the streamBytes member
  • Constructor Details

    • PdfImageObject

      public PdfImageObject(PRStream stream) throws IOException
      Creates a PdfImage object.
      Parameters:
      stream - a PRStream
      Throws:
      IOException
    • PdfImageObject

      public PdfImageObject(PRStream stream, PdfDictionary colorSpaceDic) throws IOException
      Creates a PdfImage object.
      Parameters:
      stream - a PRStream
      colorSpaceDic - a color space dictionary
      Throws:
      IOException
    • PdfImageObject

      protected PdfImageObject(PdfDictionary dictionary, byte[] samples, PdfDictionary colorSpaceDic) throws IOException
      Creats a PdfImage object using an explicitly provided dictionary and image bytes
      Parameters:
      dictionary - the dictionary for the image
      samples - the samples
      colorSpaceDic - a color space dictionary
      Throws:
      IOException
      Since:
      5.0.3
  • Method Details

    • getFileType

      public String getFileType()
    • getImageBytesType

      public PdfImageObject.ImageBytesType getImageBytesType()
      Returns:
      the type of image data that is returned by getImageBytes()
    • get

      public PdfObject get(PdfName key)
      Returns an entry from the image dictionary.
      Parameters:
      key - a key
      Returns:
      the value
    • getDictionary

      public PdfDictionary getDictionary()
      Returns the image dictionary.
      Returns:
      the dictionary
    • findColorspace

      private void findColorspace(PdfObject colorspace, boolean allowIndexed) throws IOException
      Sets state of this object according to the color space
      Parameters:
      colorspace - the colorspace to use
      allowIndexed - whether indexed color spaces will be resolved (used for recursive call)
      Throws:
      IOException - if there is a problem with reading from the underlying stream
    • decodeImageBytes

      private void decodeImageBytes() throws IOException
      decodes the bytes currently captured in the streamBytes and replaces it with an image representation of the bytes (this will either be a png or a tiff, depending on the color depth of the image)
      Throws:
      IOException
    • getImageAsBytes

      public byte[] getImageAsBytes()
      Returns:
      the bytes of the image (the format will be as specified in getImageBytesType()
      Throws:
      IOException
      Since:
      5.0.4
    • getBufferedImage

      public BufferedImage getBufferedImage() throws IOException
      Throws:
      IOException
      Since:
      5.0.3 renamed from getAwtImage()