com.lowagie.text.rtf.graphic
Class RtfShape

java.lang.Object
  extended by com.lowagie.text.Chunk
      extended by com.lowagie.text.rtf.RtfAddableElement
          extended by com.lowagie.text.rtf.graphic.RtfShape
All Implemented Interfaces:
Element, RtfBasicElement, 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 $
Author:
Mark Hall (Mark.Hall@mail.room3b.eu), Thomas Bickel (tmb99@inode.at)

Field Summary
private  RtfShapePosition position
          The RtfShapePosition that defines position settings for this RtfShape.
private  HashMap 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  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.rtf.RtfAddableElement
doc, inHeader, inTable
 
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.rtf.RtfBasicElement
CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR
 
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, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK
 
Constructor Summary
RtfShape(int type, RtfShapePosition position)
          Constructs a new RtfShape of a given shape at the given RtfShapePosition.
 
Method Summary
 void setProperty(RtfShapeProperty property)
          Sets a property.
 void setShapeText(String shapeText)
          Sets the text to display in this RtfShape.
 void setWrapping(int wrapping)
          Set the wrapping mode.
 void writeContent(OutputStream result)
          Writes the RtfShape.
 
Methods inherited from class com.lowagie.text.rtf.RtfAddableElement
intToByteArray, isEmpty, setInHeader, setInTable, setRtfDocument
 
Methods inherited from class com.lowagie.text.Chunk
append, getAttributes, getCharacterSpacing, getChunks, getContent, getFont, getHorizontalScaling, getHyphenation, getImage, getTextRise, getWidthPoint, hasAttributes, isContent, isNestable, process, setAction, setAnchor, setAnchor, setAnnotation, setAttributes, setBackground, setBackground, setCharacterSpacing, 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_STAR

public static final int SHAPE_STAR
Constant for a star.

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_CAN

public static final int SHAPE_CAN
Constant for a can 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 int type
The shape type.


position

private RtfShapePosition position
The RtfShapePosition that defines position settings for this RtfShape.


properties

private HashMap properties
A HashMap with RtfShapePropertys that define further shape properties.


wrapping

private int wrapping
The wrapping mode. Defaults to SHAPE_WRAP_NONE;


shapeText

private 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(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(OutputStream result)
                  throws 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:
IOException

Hosted by Hostbasket