Class Image

    • Field Detail

      • DEFAULT

        private static final int DEFAULT
        this is a kind of image alignment.
        See Also:
        Constant Field Values
      • RIGHT

        public static final int RIGHT
        this is a kind of image alignment.
        See Also:
        Constant Field Values
      • MIDDLE

        public static final int MIDDLE
        this is a kind of image alignment.
        See Also:
        Constant Field Values
      • TEXTWRAP

        public static final int TEXTWRAP
        this is a kind of image alignment.
        See Also:
        Constant Field Values
      • UNDERLYING

        public static final int UNDERLYING
        this is a kind of image alignment.
        See Also:
        Constant Field Values
      • AX

        private static final int AX
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • AY

        private static final int AY
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • BX

        private static final int BX
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • BY

        private static final int BY
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • CX

        public static final int CX
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • CY

        public static final int CY
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • DX

        private static final int DX
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • DY

        private static final int DY
        This represents a coordinate in the transformation matrix.
        See Also:
        Constant Field Values
      • ORIGINAL_JBIG2

        static final int ORIGINAL_JBIG2
        type of image
        Since:
        2.1.5
        See Also:
        Constant Field Values
      • type

        protected int type
        The image type.
      • url

        protected java.net.URL url
        The URL of the image.
      • rawData

        protected byte[] rawData
        The raw data of the image.
      • bpc

        protected int bpc
        The bits per component of the raw image. It also flags a CCITT image.
      • template

        private PdfTemplate[] template
        The template to be treated as an image.
      • alignment

        private int alignment
        The alignment of the Image.
      • alt

        private java.lang.String alt
        Text that can be shown instead of the image.
      • absoluteX

        private float absoluteX
        This is the absolute X-position of the image.
      • absoluteY

        private float absoluteY
        This is the absolute Y-position of the image.
      • plainWidth

        protected float plainWidth
        This is the width of the image without rotation.
      • plainHeight

        protected float plainHeight
        This is the width of the image without rotation.
      • scaledWidth

        protected float scaledWidth
        This is the scaled width of the image taking rotation into account.
      • scaledHeight

        protected float scaledHeight
        This is the original height of the image taking rotation into account.
      • compressionLevel

        private int compressionLevel
        The compression level of the content streams.
        Since:
        2.1.3
      • mySerialId

        private java.lang.Long mySerialId
        an iText attributed unique id for this image.
      • directReference

        private PdfIndirectReference directReference
        Holds value of property directReference. An image is embedded into a PDF as an Image XObject. This object is referenced by a PdfIndirectReference object.
      • serialId

        private static long serialId
        a static that is used for attributing a unique id to each image.
      • rotationRadians

        private float rotationRadians
        This is the rotation of the image in radians.
      • initialRotation

        private float initialRotation
        Holds value of property initialRotation.
      • indentationLeft

        private float indentationLeft
        the indentation to the left.
      • indentationRight

        private float indentationRight
        the indentation to the right.
      • spacingBefore

        private float spacingBefore
        The spacing before the image.
      • spacingAfter

        private float spacingAfter
        The spacing after the image.
      • widthPercentage

        private float widthPercentage
        Holds value of property widthPercentage.
      • annotation

        private Annotation annotation
        if the annotation is not null the image will be clickable.
      • layer

        private PdfOCG layer
        Optional Content layer to which we want this Image to belong.
      • interpolation

        private boolean interpolation
        Holds value of property interpolation.
      • originalType

        protected int originalType
        Holds value of property originalType.
      • originalData

        protected byte[] originalData
        Holds value of property originalData.
      • deflated

        private boolean deflated
        Holds value of property deflated.
      • dpiX

        protected int dpiX
        Holds value of property dpiX.
      • dpiY

        protected int dpiY
        Holds value of property dpiY.
      • XYRatio

        private float XYRatio
        Holds value of property XYRatio.
      • colorspace

        protected int colorspace
        this is the colorspace of a jpeg-image.
      • invert

        protected boolean invert
        Image color inversion
      • profile

        private java.awt.color.ICC_Profile profile
        ICC Profile attached
      • additional

        private PdfDictionary additional
        a dictionary with additional information
      • mask

        private boolean mask
        Is this image a mask?
      • imageMask

        private Image imageMask
        The image that serves as a mask for this image.
      • smask

        private boolean smask
        Holds value of property smask.
      • transparency

        private int[] transparency
        this is the transparency information of the raw image
    • Constructor Detail

      • Image

        Image​(java.net.URL url)
        Constructs an Image -object, using an url .
        Parameters:
        url - the URL where the image can be found.
      • Image

        protected Image​(Image image)
        Constructs an Image -object, using an url .
        Parameters:
        image - another Image object.
    • Method Detail

      • getInstance

        private static Image getInstance​(java.net.URL url)
                                  throws BadElementException,
                                         java.net.MalformedURLException,
                                         java.io.IOException
        Gets an instance of an Image.
        Parameters:
        url - an URL
        Returns:
        an Image
        Throws:
        BadElementException - on error
        java.net.MalformedURLException - on error
        java.io.IOException - on error
      • getInstance

        public static Image getInstance​(java.lang.String filename)
                                 throws BadElementException,
                                        java.net.MalformedURLException,
                                        java.io.IOException
        Gets an instance of an Image.
        Parameters:
        filename - a filename
        Returns:
        an object of type Gif,Jpeg or Png
        Throws:
        BadElementException - on error
        java.net.MalformedURLException - on error
        java.io.IOException - on error
      • getInstance

        public static Image getInstance​(byte[] imgb)
                                 throws BadElementException,
                                        java.net.MalformedURLException,
                                        java.io.IOException
        gets an instance of an Image
        Parameters:
        imgb - raw image date
        Returns:
        an Image object
        Throws:
        BadElementException - on error
        java.net.MalformedURLException - on error
        java.io.IOException - on error
      • getInstance

        public static Image getInstance​(int width,
                                        int height,
                                        int components,
                                        int bpc,
                                        byte[] data)
                                 throws BadElementException
        Gets an instance of an Image in raw mode.
        Parameters:
        width - the width of the image in pixels
        height - the height of the image in pixels
        components - 1,3 or 4 for GrayScale, RGB and CMYK
        data - the image data
        bpc - bits per component
        Returns:
        an object of type ImgRaw
        Throws:
        BadElementException - on error
      • getInstance

        public static Image getInstance​(int width,
                                        int height,
                                        boolean reverseBits,
                                        int typeCCITT,
                                        int parameters,
                                        byte[] data)
                                 throws BadElementException
        Creates an Image with CCITT G3 or G4 compression. It assumes that the data bytes are already compressed.
        Parameters:
        width - the exact width of the image
        height - the exact height of the image
        reverseBits - reverses the bits in data. Bit 0 is swapped with bit 7 and so on
        typeCCITT - the type of compression in data. It can be CCITTG4, CCITTG31D, CCITTG32D
        parameters - parameters associated with this stream. Possible values are CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFLINE and CCITT_ENDOFBLOCK or a combination of them
        data - the image data
        Returns:
        an Image object
        Throws:
        BadElementException - on error
      • getInstance

        private static Image getInstance​(int width,
                                         int height,
                                         boolean reverseBits,
                                         int typeCCITT,
                                         int parameters,
                                         byte[] data,
                                         int[] transparency)
                                  throws BadElementException
        Creates an Image with CCITT G3 or G4 compression. It assumes that the data bytes are already compressed.
        Parameters:
        width - the exact width of the image
        height - the exact height of the image
        reverseBits - reverses the bits in data. Bit 0 is swapped with bit 7 and so on
        typeCCITT - the type of compression in data. It can be CCITTG4, CCITTG31D, CCITTG32D
        parameters - parameters associated with this stream. Possible values are CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFLINE and CCITT_ENDOFBLOCK or a combination of them
        data - the image data
        transparency - transparency information in the Mask format of the image dictionary
        Returns:
        an Image object
        Throws:
        BadElementException - on error
      • getInstance

        private static Image getInstance​(int width,
                                         int height,
                                         int components,
                                         int bpc,
                                         byte[] data,
                                         int[] transparency)
                                  throws BadElementException
        Gets an instance of an Image in raw mode.
        Parameters:
        width - the width of the image in pixels
        height - the height of the image in pixels
        components - 1,3 or 4 for GrayScale, RGB and CMYK
        data - the image data
        bpc - bits per component
        transparency - transparency information in the Mask format of the image dictionary
        Returns:
        an object of type ImgRaw
        Throws:
        BadElementException - on error
      • getInstance

        public static Image getInstance​(PdfTemplate template)
                                 throws BadElementException
        gets an instance of an Image
        Parameters:
        template - a PdfTemplate that has to be wrapped in an Image object
        Returns:
        an Image object
        Throws:
        BadElementException - on error
      • getInstance

        public static Image getInstance​(java.awt.Image image,
                                        java.awt.Color color,
                                        boolean forceBW)
                                 throws BadElementException,
                                        java.io.IOException
        Gets an instance of an Image from a java.awt.Image.
        Parameters:
        image - the java.awt.Image to convert
        color - if different from null the transparency pixels are replaced by this color
        forceBW - if true the image is treated as black and white
        Returns:
        an object of type ImgRaw
        Throws:
        BadElementException - on error
        java.io.IOException - on error
      • getInstance

        public static Image getInstance​(java.awt.Image image,
                                        java.awt.Color color)
                                 throws BadElementException,
                                        java.io.IOException
        Gets an instance of an Image from a java.awt.Image.
        Parameters:
        image - the java.awt.Image to convert
        color - if different from null the transparency pixels are replaced by this color
        Returns:
        an object of type ImgRaw
        Throws:
        BadElementException - on error
        java.io.IOException - on error
      • getDirectReference

        public PdfIndirectReference getDirectReference()
        Getter for property directReference.
        Returns:
        Value of property directReference.
      • setDirectReference

        public void setDirectReference​(PdfIndirectReference directReference)
        Setter for property directReference.
        Parameters:
        directReference - New value of property directReference.
      • getInstance

        public static Image getInstance​(Image image)
        gets an instance of an Image
        Parameters:
        image - an Image object
        Returns:
        a new Image object
      • type

        public int type()
        Returns the type.
        Specified by:
        type in interface Element
        Overrides:
        type in class Rectangle
        Returns:
        a type
      • isNestable

        public boolean isNestable()
        Description copied from interface: Element
        Checks if this element is nestable.
        Specified by:
        isNestable in interface Element
        Overrides:
        isNestable in class Rectangle
        Returns:
        true if this element can be nested inside other elements.
        Since:
        iText 2.0.8
        See Also:
        Element.isNestable()
      • isJpeg

        public boolean isJpeg()
        Returns true if the image is a Jpeg -object.
        Returns:
        a boolean
      • isImgRaw

        public boolean isImgRaw()
        Returns true if the image is a ImgRaw -object.
        Returns:
        a boolean
      • isImgTemplate

        public boolean isImgTemplate()
        Returns true if the image is an ImgTemplate -object.
        Returns:
        a boolean
      • getUrl

        public java.net.URL getUrl()
        Gets the String -representation of the reference to the image.
        Returns:
        a String
      • setUrl

        public void setUrl​(java.net.URL url)
        Sets the url of the image
        Parameters:
        url - the url of the image
      • getRawData

        public byte[] getRawData()
        Gets the raw data for the image.

        Remark: this only makes sense for Images of the type RawImage .

        Returns:
        the raw data
      • getBpc

        public int getBpc()
        Gets the bpc for the image.

        Remark: this only makes sense for Images of the type RawImage .

        Returns:
        a bpc value
      • getTemplateData

        public PdfTemplate getTemplateData()
        Gets the template to be used as an image.

        Remark: this only makes sense for Images of the type ImgTemplate .

        Returns:
        the template
      • setTemplateData

        public void setTemplateData​(PdfTemplate template)
        Sets data from a PdfTemplate
        Parameters:
        template - the template with the content
      • getAlignment

        public int getAlignment()
        Gets the alignment for the image.
        Returns:
        a value
      • setAlignment

        public void setAlignment​(int alignment)
        Sets the alignment for the image.
        Parameters:
        alignment - the alignment
      • getAlt

        public java.lang.String getAlt()
        Gets the alternative text for the image.
        Returns:
        a String
      • setAlt

        public void setAlt​(java.lang.String alt)
        Sets the alternative information for the image.
        Parameters:
        alt - the alternative information
      • setAbsolutePosition

        public void setAbsolutePosition​(float absoluteX,
                                        float absoluteY)
        Sets the absolute position of the Image.
        Parameters:
        absoluteX - X
        absoluteY - Y
      • hasAbsoluteX

        public boolean hasAbsoluteX()
        Checks if the Images has to be added at an absolute X position.
        Returns:
        a boolean
      • getAbsoluteX

        public float getAbsoluteX()
        Returns the absolute X position.
        Returns:
        a position
      • hasAbsoluteY

        public boolean hasAbsoluteY()
        Checks if the Images has to be added at an absolute position.
        Returns:
        a boolean
      • getAbsoluteY

        public float getAbsoluteY()
        Returns the absolute Y position.
        Returns:
        a position
      • getScaledWidth

        public float getScaledWidth()
        Gets the scaled width of the image.
        Returns:
        a value
      • getScaledHeight

        public float getScaledHeight()
        Gets the scaled height of the image.
        Returns:
        a value
      • getPlainWidth

        public float getPlainWidth()
        Gets the plain width of the image.
        Returns:
        a value
      • getPlainHeight

        public float getPlainHeight()
        Gets the plain height of the image.
        Returns:
        a value
      • scaleAbsolute

        public void scaleAbsolute​(float newWidth,
                                  float newHeight)
        Scale the image to an absolute width and an absolute height.
        Parameters:
        newWidth - the new width
        newHeight - the new height
      • scaleAbsoluteWidth

        public void scaleAbsoluteWidth​(float newWidth)
        Scale the image to an absolute width.
        Parameters:
        newWidth - the new width
      • scaleAbsoluteHeight

        public void scaleAbsoluteHeight​(float newHeight)
        Scale the image to an absolute height.
        Parameters:
        newHeight - the new height
      • scalePercent

        public void scalePercent​(float percent)
        Scale the image to a certain percentage.
        Parameters:
        percent - the scaling percentage
      • scalePercent

        private void scalePercent​(float percentX,
                                  float percentY)
        Scale the width and height of an image to a certain percentage.
        Parameters:
        percentX - the scaling percentage of the width
        percentY - the scaling percentage of the height
      • scaleToFit

        public void scaleToFit​(float fitWidth,
                               float fitHeight)
        Scales the image so that it fits a certain width and height.
        Parameters:
        fitWidth - the width to fit
        fitHeight - the height to fit
      • matrix

        public float[] matrix()
        Returns the transformation matrix of the image.
        Returns:
        an array [AX, AY, BX, BY, CX, CY, DX, DY]
      • getSerialId

        private static java.lang.Long getSerialId()
        Creates a new serial id.
        Returns:
        Serial Id
      • getMySerialId

        public java.lang.Long getMySerialId()
        Returns a serial id for the Image (reuse the same image more than once)
        Returns:
        a serialId
      • getImageRotation

        public float getImageRotation()
        Gets the current image rotation in radians.
        Returns:
        the current image rotation in radians
      • setRotation

        public void setRotation​(float r)
        Sets the rotation of the image in radians.
        Parameters:
        r - rotation in radians
      • setRotationDegrees

        public void setRotationDegrees​(float deg)
        Sets the rotation of the image in degrees.
        Parameters:
        deg - rotation in degrees
      • getInitialRotation

        public float getInitialRotation()
        Getter for property initialRotation.
        Returns:
        Value of property initialRotation.
      • setInitialRotation

        public void setInitialRotation​(float initialRotation)
        Some image formats, like TIFF may present the images rotated that have to be compensated.
        Parameters:
        initialRotation - New value of property initialRotation.
      • getIndentationLeft

        public float getIndentationLeft()
        Gets the left indentation.
        Returns:
        the left indentation
      • setIndentationLeft

        public void setIndentationLeft​(float f)
        Sets the left indentation.
        Parameters:
        f - Identation
      • getIndentationRight

        public float getIndentationRight()
        Gets the right indentation.
        Returns:
        the right indentation
      • setIndentationRight

        public void setIndentationRight​(float f)
        Sets the right indentation.
        Parameters:
        f - Identation
      • getSpacingBefore

        public float getSpacingBefore()
        Gets the spacing before this image.
        Returns:
        the spacing
      • setSpacingBefore

        public void setSpacingBefore​(float spacing)
        Sets the spacing before this image.
        Parameters:
        spacing - the new spacing
      • getSpacingAfter

        public float getSpacingAfter()
        Gets the spacing before this image.
        Returns:
        the spacing
      • setSpacingAfter

        public void setSpacingAfter​(float spacing)
        Sets the spacing after this image.
        Parameters:
        spacing - the new spacing
      • getWidthPercentage

        public float getWidthPercentage()
        Getter for property widthPercentage.
        Returns:
        Value of property widthPercentage.
      • setWidthPercentage

        public void setWidthPercentage​(float widthPercentage)
        Setter for property widthPercentage.
        Parameters:
        widthPercentage - New value of property widthPercentage.
      • setAnnotation

        public void setAnnotation​(Annotation annotation)
        Sets the annotation of this Image.
        Parameters:
        annotation - the annotation
      • getAnnotation

        public Annotation getAnnotation()
        Gets the annotation.
        Returns:
        the annotation that is linked to this image
      • getLayer

        public PdfOCG getLayer()
        Gets the layer this image belongs to.
        Returns:
        the layer this image belongs to or null for no layer defined
      • setLayer

        public void setLayer​(PdfOCG layer)
        Sets the layer this image belongs to.
        Parameters:
        layer - the layer this image belongs to
      • isInterpolation

        public boolean isInterpolation()
        Getter for property interpolation.
        Returns:
        Value of property interpolation.
      • setInterpolation

        public void setInterpolation​(boolean interpolation)
        Sets the image interpolation. Image interpolation attempts to produce a smooth transition between adjacent sample values.
        Parameters:
        interpolation - New value of property interpolation.
      • getOriginalType

        public int getOriginalType()
        Getter for property originalType.
        Returns:
        Value of property originalType.
      • setOriginalType

        public void setOriginalType​(int originalType)
        Setter for property originalType.
        Parameters:
        originalType - New value of property originalType.
      • getOriginalData

        public byte[] getOriginalData()
        Getter for property originalData.
        Returns:
        Value of property originalData.
      • setOriginalData

        public void setOriginalData​(byte[] originalData)
        Setter for property originalData.
        Parameters:
        originalData - New value of property originalData.
      • isDeflated

        public boolean isDeflated()
        Getter for property deflated.
        Returns:
        Value of property deflated.
      • setDeflated

        public void setDeflated​(boolean deflated)
        Setter for property deflated.
        Parameters:
        deflated - New value of property deflated.
      • getDpiX

        public int getDpiX()
        Gets the dots-per-inch in the X direction. Returns 0 if not available.
        Returns:
        the dots-per-inch in the X direction
      • getDpiY

        public int getDpiY()
        Gets the dots-per-inch in the Y direction. Returns 0 if not available.
        Returns:
        the dots-per-inch in the Y direction
      • setDpi

        public void setDpi​(int dpiX,
                           int dpiY)
        Sets the dots per inch value
        Parameters:
        dpiX - dpi for x coordinates
        dpiY - dpi for y coordinates
      • getXYRatio

        public float getXYRatio()
        Gets the X/Y pixel dimensionless aspect ratio.
        Returns:
        the X/Y pixel dimensionless aspect ratio
      • setXYRatio

        public void setXYRatio​(float XYRatio)
        Sets the X/Y pixel dimensionless aspect ratio.
        Parameters:
        XYRatio - the X/Y pixel dimensionless aspect ratio
      • getColorspace

        public int getColorspace()
        Gets the colorspace for the image.

        Remark: this only makes sense for Images of the type Jpeg.

        Returns:
        a colorspace value
      • isInverted

        public boolean isInverted()
        Getter for the inverted value
        Returns:
        true if the image is inverted
      • setInverted

        public void setInverted​(boolean invert)
        Sets inverted true or false
        Parameters:
        invert - true or false
      • tagICC

        public void tagICC​(java.awt.color.ICC_Profile profile)
        Tags this image with an ICC profile.
        Parameters:
        profile - the profile
      • hasICCProfile

        public boolean hasICCProfile()
        Checks is the image has an ICC profile.
        Returns:
        the ICC profile or null
      • getICCProfile

        public java.awt.color.ICC_Profile getICCProfile()
        Gets the images ICC profile.
        Returns:
        the ICC profile
      • getAdditional

        public PdfDictionary getAdditional()
        Getter for the dictionary with additional information.
        Returns:
        a PdfDictionary with additional information.
      • setAdditional

        public void setAdditional​(PdfDictionary additional)
        Sets the /Colorspace key.
        Parameters:
        additional - a PdfDictionary with additional information.
      • simplifyColorspace

        private PdfObject simplifyColorspace​(PdfArray obj)
        Gets a PDF Name from an array or returns the object that was passed.
        Parameters:
        obj - Pdf array
        Returns:
        Pdf object
      • isMask

        public boolean isMask()
        Returns true if this Image is a mask.
        Returns:
        true if this Image is a mask
      • isMaskCandidate

        public boolean isMaskCandidate()
        Returns true if this Image has the requisites to be a mask.
        Returns:
        true if this Image can be a mask
      • getImageMask

        public Image getImageMask()
        Gets the explicit masking.
        Returns:
        the explicit masking
      • isSmask

        public boolean isSmask()
        Getter for property smask.
        Returns:
        Value of property smask.
      • setSmask

        public void setSmask​(boolean smask)
        Setter for property smask.
        Parameters:
        smask - New value of property smask.
      • getTransparency

        public int[] getTransparency()
        Returns the transparency.
        Returns:
        the transparency values
      • setTransparency

        public void setTransparency​(int[] transparency)
        Sets the transparency values
        Parameters:
        transparency - the transparency values
      • getCompressionLevel

        public int getCompressionLevel()
        Returns the compression level used for images written as a compressed stream.
        Returns:
        the compression level (0 = best speed, 9 = best compression, -1 is default)
        Since:
        2.1.3
      • setCompressionLevel

        public void setCompressionLevel​(int compressionLevel)
        Sets the compression level to be used if the image is written as a compressed stream.
        Parameters:
        compressionLevel - a value between 0 (best speed) and 9 (best compression)
        Since:
        2.1.3