Class PDFImage

java.lang.Object
org.openpdf.renderer.PDFImage

public class PDFImage extends Object
Encapsulates a PDF Image
  • Constructor Details

  • Method Details

    • createImage

      public static PDFImage createImage(PDFObject obj, Map<String, PDFObject> resources, boolean useAsSMask) throws IOException
      Read a PDFImage from an image dictionary and stream
      Parameters:
      obj - the PDFObject containing the image's dictionary and stream
      resources - the current resources
      useAsSMask - - flag for switching colors in case image is used as sMask internally this is needed for handling transparency in smask images.
      Throws:
      IOException
    • getImage

      public BufferedImage getImage() throws PDFImageParseException
      Get the image that this PDFImage generates.
      Returns:
      a buffered image containing the decoded image data
      Throws:
      PDFImageParseException
    • parseData

      protected BufferedImage parseData(byte[] data, ByteBuffer jpegData) throws IOException

      Parse the image stream into a buffered image. Note that this is guaranteed to be called after all the other setXXX methods have been called.

      NOTE: the color convolving is extremely slow on large images. It would be good to see if it could be moved out into the rendering phases, where we might be able to scale the image down first. invalid input: '<'/p

      Parameters:
      data - the data when already completely filtered and uncompressed
      jpegData - a byte buffer if data still requiring the DCDTecode filter is being used
      Throws:
      IOException
    • getWidth

      public int getWidth()
      Get the image's width
    • setWidth

      protected void setWidth(int width)
      Set the image's width
    • getHeight

      public int getHeight()
      Get the image's height
    • setHeight

      protected void setHeight(int height)
      Set the image's height
    • getColorSpace

      protected PDFColorSpace getColorSpace()
      Get the colorspace associated with this image, or null if there isn't one
    • setColorSpace

      protected void setColorSpace(PDFColorSpace colorSpace)
      Set the colorspace associated with this image
    • getBitsPerComponent

      protected int getBitsPerComponent()
      Get the number of bits per component sample
    • setBitsPerComponent

      protected void setBitsPerComponent(int bpc)
      Set the number of bits per component sample
    • isImageMask

      public boolean isImageMask()
      Return whether or not this is an image mask
    • setImageMask

      public void setImageMask(boolean imageMask)
      Set whether or not this is an image mask
    • getSMask

      public PDFImage getSMask()
      Return the soft mask associated with this image
    • setSMask

      protected void setSMask(PDFImage sMask)
      Set the soft mask image
    • getDecode

      protected float[] getDecode()
      Get the decode array
    • setDecode

      protected void setDecode(float[] decode)
      Set the decode array