Class RtfShape

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

    public class RtfShape
    extends RtfAddableElement
    The RtfShape provides the interface for adding shapes to the RTF document. This will only work for Word 97+, older Word versions are not supported by this class.

    Only very simple shapes are directly supported by the RtfShape. For more complex shapes you will have to read the RTF specification (iText follows the 1.6 specification) and add the desired properties via the RtfShapeProperty.

    One thing to keep in mind is that distances are not expressed in the standard iText point, but in EMU where 1 inch = 914400 EMU or 1 cm = 360000 EMU.
    Version:
    $Id: RtfShape.java 3591 2008-08-27 17:19:27Z howard_s $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private RtfShapePosition position
      The RtfShapePosition that defines position settings for this RtfShape.
      private java.util.Map<java.lang.String,​RtfShapeProperty> properties
      A HashMap with RtfShapePropertys that define further shape properties.
      static int SHAPE_ARC
      Constant for an arc shape.
      static int SHAPE_ARROR_THICK
      Constant for a thick arrow.
      static int SHAPE_ARROW
      Constant for an arrow.
      static int SHAPE_BALLOON
      Constant for a balloon shape.
      static int SHAPE_CAN
      Constant for a can shape.
      static int SHAPE_CUBE
      Constant for a cube shape.
      static int SHAPE_DIAMOND
      Constant for a diamond.
      static int SHAPE_DONUT
      Constant for a donut shape.
      static int SHAPE_ELLIPSE
      Constant for an ellipse.
      static int SHAPE_FREEFORM
      Constant for a free form shape.
      static int SHAPE_HEXAGON
      Constant for a hexagon.
      static int SHAPE_HOME_PLATE
      Constant for a home plate style shape.
      static int SHAPE_LINE
      Constant for a line shape.
      static int SHAPE_OCTAGON
      Constant for an ocatagon.
      static int SHAPE_PARALLELOGRAM
      Constant for a parallelogram.
      static int SHAPE_PICTURE_FRAME
      Constant for a Picture Frame.
      static int SHAPE_RECTANGLE
      Constant for a rectangle.
      static int SHAPE_ROUND_RECTANGLE
      Constant for a rounded rectangle.
      static int SHAPE_SEAL
      Constant for a seal shape.
      static int SHAPE_STAR
      Constant for a star.
      static int SHAPE_TRAPEZOID
      Constant for a trapezoid.
      static int SHAPE_TRIANGLE_ISOSCELES
      Constant for a isosceles triangle.
      static int SHAPE_TRIANGLE_RIGHT
      Constant for a right triangle.
      static int SHAPE_WRAP_BOTH
      Text is wrapped on the left and right side.
      static int SHAPE_WRAP_LARGEST
      Text is wrapped on the largest side.
      static int SHAPE_WRAP_LEFT
      Text is wrapped on the left side.
      static int SHAPE_WRAP_NONE
      Text is not wrapped around the shape.
      static int SHAPE_WRAP_RIGHT
      Text is wrapped on the right side.
      static int SHAPE_WRAP_THROUGH
      Text is wrapped through the shape.
      static int SHAPE_WRAP_TIGHT_BOTH
      Text is tightly wrapped on the left and right side.
      static int SHAPE_WRAP_TIGHT_LARGEST
      Text is tightly wrapped on the largest side.
      static int SHAPE_WRAP_TIGHT_LEFT
      Text is tightly wrapped on the left side.
      static int SHAPE_WRAP_TIGHT_RIGHT
      Text is tightly wrapped on the right side.
      static int SHAPE_WRAP_TOP_BOTTOM
      Text is wrapped to the top and bottom.
      private int shapeNr
      The shape nr is a random unique id.
      private java.lang.String shapeText
      Text that is contained in the shape.
      private int type
      The shape type.
      private int wrapping
      The wrapping mode.
      • Fields inherited from class com.lowagie.text.Chunk

        ACTION, attributes, BACKGROUND, CHAR_SPACING, COLOR, content, ENCODING, font, GENERICTAG, HSCALE, HYPHENATION, IMAGE, LOCALDESTINATION, LOCALGOTO, NEWLINE, NEWPAGE, NEXTPAGE, OBJECT_REPLACEMENT_CHARACTER, PDFANNOTATION, REMOTEGOTO, SEPARATOR, SKEW, SPLITCHARACTER, SUBSUPSCRIPT, TAB, TEXTRENDERMODE, UNDERLINE
      • Fields inherited from interface com.lowagie.text.Element

        ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, FOOTNOTE, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MODIFICATIONDATE, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK
    • Constructor Summary

      Constructors 
      Constructor Description
      RtfShape​(int type, RtfShapePosition position)
      Constructs a new RtfShape of a given shape at the given RtfShapePosition.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void setProperty​(RtfShapeProperty property)
      Sets a property.
      void setShapeText​(java.lang.String shapeText)
      Sets the text to display in this RtfShape.
      void setWrapping​(int wrapping)
      Set the wrapping mode.
      void writeContent​(java.io.OutputStream result)
      Writes the RtfShape.
      • Methods inherited from class com.lowagie.text.Chunk

        append, getAttributes, getCharacterSpacing, getChunkAttributes, getChunks, getContent, getFont, getHorizontalScaling, getHyphenation, getImage, getTextRise, getWidthPoint, hasAttributes, isContent, isNestable, process, setAction, setAnchor, setAnchor, setAnnotation, setAttributes, setBackground, setBackground, setCharacterSpacing, setChunkAttributes, setFont, setGenericTag, setHorizontalScaling, setHyphenation, setLocalDestination, setLocalGoto, setNewPage, setRemoteGoto, setRemoteGoto, setSkew, setSplitCharacter, setTextRenderMode, setTextRise, setUnderline, setUnderline, toString, type
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • SHAPE_PICTURE_FRAME

        public static final int SHAPE_PICTURE_FRAME
        Constant for a Picture Frame.
        See Also:
        Constant Field Values
      • SHAPE_FREEFORM

        public static final int SHAPE_FREEFORM
        Constant for a free form shape. The shape verticies must be specified with an array of Point objects in a RtfShapeProperty with the name PROPERTY_VERTICIES.
        See Also:
        Constant Field Values
      • SHAPE_RECTANGLE

        public static final int SHAPE_RECTANGLE
        Constant for a rectangle.
        See Also:
        Constant Field Values
      • SHAPE_ROUND_RECTANGLE

        public static final int SHAPE_ROUND_RECTANGLE
        Constant for a rounded rectangle. The roundness is set via a RtfShapeProperty with the name PROPERTY_ADJUST_VALUE.
        See Also:
        Constant Field Values
      • SHAPE_ELLIPSE

        public static final int SHAPE_ELLIPSE
        Constant for an ellipse. Use this to create circles.
        See Also:
        Constant Field Values
      • SHAPE_DIAMOND

        public static final int SHAPE_DIAMOND
        Constant for a diamond.
        See Also:
        Constant Field Values
      • SHAPE_TRIANGLE_ISOSCELES

        public static final int SHAPE_TRIANGLE_ISOSCELES
        Constant for a isosceles triangle.
        See Also:
        Constant Field Values
      • SHAPE_TRIANGLE_RIGHT

        public static final int SHAPE_TRIANGLE_RIGHT
        Constant for a right triangle.
        See Also:
        Constant Field Values
      • SHAPE_PARALLELOGRAM

        public static final int SHAPE_PARALLELOGRAM
        Constant for a parallelogram.
        See Also:
        Constant Field Values
      • SHAPE_TRAPEZOID

        public static final int SHAPE_TRAPEZOID
        Constant for a trapezoid.
        See Also:
        Constant Field Values
      • SHAPE_HEXAGON

        public static final int SHAPE_HEXAGON
        Constant for a hexagon.
        See Also:
        Constant Field Values
      • SHAPE_OCTAGON

        public static final int SHAPE_OCTAGON
        Constant for an ocatagon.
        See Also:
        Constant Field Values
      • SHAPE_ARROW

        public static final int SHAPE_ARROW
        Constant for an arrow.
        See Also:
        Constant Field Values
      • SHAPE_ARROR_THICK

        public static final int SHAPE_ARROR_THICK
        Constant for a thick arrow.
        See Also:
        Constant Field Values
      • SHAPE_HOME_PLATE

        public static final int SHAPE_HOME_PLATE
        Constant for a home plate style shape.
        See Also:
        Constant Field Values
      • SHAPE_CUBE

        public static final int SHAPE_CUBE
        Constant for a cube shape.
        See Also:
        Constant Field Values
      • SHAPE_BALLOON

        public static final int SHAPE_BALLOON
        Constant for a balloon shape.
        See Also:
        Constant Field Values
      • SHAPE_SEAL

        public static final int SHAPE_SEAL
        Constant for a seal shape.
        See Also:
        Constant Field Values
      • SHAPE_ARC

        public static final int SHAPE_ARC
        Constant for an arc shape.
        See Also:
        Constant Field Values
      • SHAPE_LINE

        public static final int SHAPE_LINE
        Constant for a line shape.
        See Also:
        Constant Field Values
      • SHAPE_DONUT

        public static final int SHAPE_DONUT
        Constant for a donut shape.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_NONE

        public static final int SHAPE_WRAP_NONE
        Text is not wrapped around the shape.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_TOP_BOTTOM

        public static final int SHAPE_WRAP_TOP_BOTTOM
        Text is wrapped to the top and bottom.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_BOTH

        public static final int SHAPE_WRAP_BOTH
        Text is wrapped on the left and right side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_LEFT

        public static final int SHAPE_WRAP_LEFT
        Text is wrapped on the left side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_RIGHT

        public static final int SHAPE_WRAP_RIGHT
        Text is wrapped on the right side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_LARGEST

        public static final int SHAPE_WRAP_LARGEST
        Text is wrapped on the largest side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_TIGHT_BOTH

        public static final int SHAPE_WRAP_TIGHT_BOTH
        Text is tightly wrapped on the left and right side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_TIGHT_LEFT

        public static final int SHAPE_WRAP_TIGHT_LEFT
        Text is tightly wrapped on the left side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_TIGHT_RIGHT

        public static final int SHAPE_WRAP_TIGHT_RIGHT
        Text is tightly wrapped on the right side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_TIGHT_LARGEST

        public static final int SHAPE_WRAP_TIGHT_LARGEST
        Text is tightly wrapped on the largest side.
        See Also:
        Constant Field Values
      • SHAPE_WRAP_THROUGH

        public static final int SHAPE_WRAP_THROUGH
        Text is wrapped through the shape.
        See Also:
        Constant Field Values
      • shapeNr

        private int shapeNr
        The shape nr is a random unique id.
      • type

        private final int type
        The shape type.
      • position

        private final RtfShapePosition position
        The RtfShapePosition that defines position settings for this RtfShape.
      • properties

        private final java.util.Map<java.lang.String,​RtfShapeProperty> properties
        A HashMap with RtfShapePropertys that define further shape properties.
      • wrapping

        private int wrapping
        The wrapping mode. Defaults to SHAPE_WRAP_NONE;
      • shapeText

        private java.lang.String shapeText
        Text that is contained in the shape.
    • Constructor Detail

      • RtfShape

        public RtfShape​(int type,
                        RtfShapePosition position)
        Constructs a new RtfShape of a given shape at the given RtfShapePosition.
        Parameters:
        type - The type of shape to create.
        position - The RtfShapePosition to create this RtfShape at.
    • Method Detail

      • setProperty

        public void setProperty​(RtfShapeProperty property)
        Sets a property.
        Parameters:
        property - The property to set for this RtfShape.
      • setShapeText

        public void setShapeText​(java.lang.String shapeText)
        Sets the text to display in this RtfShape.
        Parameters:
        shapeText - The text to display.
      • setWrapping

        public void setWrapping​(int wrapping)
        Set the wrapping mode.
        Parameters:
        wrapping - The wrapping mode to use for this RtfShape.
      • writeContent

        public void writeContent​(java.io.OutputStream result)
                          throws java.io.IOException
        Writes the RtfShape. Some settings are automatically translated into or require other properties and these are set first.
        Specified by:
        writeContent in interface RtfBasicElement
        Specified by:
        writeContent in class RtfAddableElement
        Parameters:
        result - The OutputStream to write the content to
        Throws:
        java.io.IOException