Class RtfImage

  • All Implemented Interfaces:
    RtfBasicElement, com.lowagie.text.RtfElementInterface

    public class RtfImage
    extends RtfElement
    The RtfImage contains one image. Supported image types are jpeg, png, wmf, bmp.
    Version:
    $Id: RtfImage.java 4065 2009-09-16 23:09:11Z psoares33 $
    • Field Detail

      • PICTURE_GROUP

        private static final byte[] PICTURE_GROUP
        Constant for the shape/picture group
      • PICTURE

        private static final byte[] PICTURE
        Constant for a picture
      • PICTURE_JPEG

        private static final byte[] PICTURE_JPEG
        Constant for a jpeg image
      • PICTURE_PNG

        private static final byte[] PICTURE_PNG
        Constant for a png image
      • PICTURE_WMF

        private static final byte[] PICTURE_WMF
        Constant for a wmf image
      • PICTURE_WIDTH

        private static final byte[] PICTURE_WIDTH
        Constant for the picture width
      • PICTURE_HEIGHT

        private static final byte[] PICTURE_HEIGHT
        Constant for the picture height
      • PICTURE_SCALED_WIDTH

        private static final byte[] PICTURE_SCALED_WIDTH
        Constant for the picture width scale
      • PICTURE_SCALED_HEIGHT

        private static final byte[] PICTURE_SCALED_HEIGHT
        Constant for the picture height scale
      • PICTURE_SCALE_X

        private static final byte[] PICTURE_SCALE_X
        Constant for horizontal picture scaling
      • PICTURE_SCALE_Y

        private static final byte[] PICTURE_SCALE_Y
        Constant for vertical picture scaling
      • PICTURE_BINARY_DATA

        private static final byte[] PICTURE_BINARY_DATA
        "\bin" constant
      • PIXEL_TWIPS_FACTOR

        private static final int PIXEL_TWIPS_FACTOR
        Constant for converting pixels to twips
        See Also:
        Constant Field Values
      • imageType

        private final int imageType
        The type of image this is.
      • imageData

        private final byte[][] imageData
        Binary image data.
      • alignment

        private int alignment
        The alignment of this picture
      • width

        private final float width
        The width of this picture
      • height

        private final float height
        The height of this picture
      • plainWidth

        private final float plainWidth
        The intended display width of this picture
      • plainHeight

        private final float plainHeight
        The intended display height of this picture
      • topLevelElement

        private boolean topLevelElement
        Whether this RtfImage is a top level element and should be an extra paragraph.
      • byte2charLUT

        public static final byte[] byte2charLUT
        lookup table used for converting bytes to hex chars. TODO Should probably be refactored into a helper class
    • Constructor Detail

      • RtfImage

        public RtfImage​(RtfDocument doc,
                        com.lowagie.text.Image image)
                 throws com.lowagie.text.DocumentException
        Constructs a RtfImage for an Image.
        Parameters:
        doc - The RtfDocument this RtfImage belongs to
        image - The Image that this RtfImage wraps
        Throws:
        com.lowagie.text.DocumentException - If an error occurred accessing the image content
    • Method Detail

      • getImageData

        private byte[][] getImageData​(com.lowagie.text.Image image)
                               throws com.lowagie.text.DocumentException
        Extracts the image data from the Image.
        Parameters:
        image - The image for which to extract the content
        Returns:
        The raw image data, not formated
        Throws:
        com.lowagie.text.DocumentException - If an error occurs accessing the image content
      • writeImageDataHexEncoded

        private void writeImageDataHexEncoded​(java.io.OutputStream bab)
                                       throws java.io.IOException
        Writes the image data to the given buffer as hex encoded text.
        Parameters:
        bab -
        Throws:
        java.io.IOException
      • imageDataSize

        private int imageDataSize()
        Returns the image raw data size in bytes.
        Returns:
        the size in bytes
      • writeContent

        public void writeContent​(java.io.OutputStream result)
                          throws java.io.IOException
        Writes the RtfImage content
        Specified by:
        writeContent in interface RtfBasicElement
        Specified by:
        writeContent in class RtfElement
        Parameters:
        result - The OutputStream to write the content to
        Throws:
        java.io.IOException
      • setAlignment

        public void setAlignment​(int alignment)
        Sets the alignment of this RtfImage. Uses the alignments from com.lowagie.text.Element.
        Parameters:
        alignment - The alignment to use.
      • setTopLevelElement

        public void setTopLevelElement​(boolean topLevelElement)
        Set whether this RtfImage should behave like a top level element and enclose itself in a paragraph.
        Parameters:
        topLevelElement - Whether to behave like a top level element.