com.lowagie.text
Class Chunk

java.lang.Object
  extended by com.lowagie.text.Chunk
All Implemented Interfaces:
Element
Direct Known Subclasses:
RtfAddableElement, RtfField

public class Chunk
extends java.lang.Object
implements Element

This is the smallest significant part of text that can be added to a document.

Most elements can be divided in one or more Chunks. A chunk is a String with a certain Font. All other layout parameters should be defined in the object to which this chunk of text is added.

Example:

 
 Chunk chunk = new Chunk("Hello world",
 FontFactory.getFont(FontFactory.COURIER, 20, Font.ITALIC, new Color(255, 0,
 0)));  document.add(chunk);
 
 


Field Summary
static java.lang.String ACTION
          Key for Action.
protected  java.util.HashMap attributes
          Contains some of the attributes for this Chunk.
static java.lang.String BACKGROUND
          Key for background.
static java.lang.String COLOR
          Key for color.
protected  java.lang.StringBuffer content
          This is the content of this chunk of text.
static java.lang.String ENCODING
          Key for encoding.
protected  Font font
          This is the Font of this chunk of text.
static java.lang.String GENERICTAG
          Key for generic tag.
static java.lang.String HSCALE
          Key for text horizontal scaling.
static java.lang.String HYPHENATION
          Key for hyphenation.
static java.lang.String IMAGE
          Key for image.
static java.lang.String LOCALDESTINATION
          Key for local destination.
static java.lang.String LOCALGOTO
          Key for local goto.
static Chunk NEWLINE
          This is a Chunk containing a newline.
static java.lang.String NEWPAGE
          Key for newpage.
static Chunk NEXTPAGE
          This is a Chunk containing a newpage.
static java.lang.String OBJECT_REPLACEMENT_CHARACTER
          The character stand in for an image or a separator.
static java.lang.String PDFANNOTATION
          Key for annotation.
static java.lang.String REMOTEGOTO
          Key for remote goto.
static java.lang.String SEPARATOR
          Key for drawInterface of the Separator.
static java.lang.String SKEW
          Key for text skewing.
static java.lang.String SPLITCHARACTER
          Key for split character.
static java.lang.String SUBSUPSCRIPT
          Key for sub/superscript.
static java.lang.String TAB
          Key for drawInterface of the tab.
static java.lang.String TEXTRENDERMODE
          Key for text rendering mode.
static java.lang.String UNDERLINE
          Key for 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, 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
Chunk()
          Empty constructor.
Chunk(char c)
          Constructs a chunk of text with a char, without specifying a Font .
Chunk(char c, Font font)
          Constructs a chunk of text with a char and a certain Font.
Chunk(Chunk ck)
          A Chunk copy constructor.
Chunk(DrawInterface separator)
          Creates a separator Chunk.
Chunk(DrawInterface separator, boolean vertical)
          Creates a separator Chunk.
Chunk(DrawInterface separator, float tabPosition)
          Creates a tab Chunk.
Chunk(DrawInterface separator, float tabPosition, boolean newline)
          Creates a tab Chunk.
Chunk(Image image, float offsetX, float offsetY)
          Constructs a chunk containing an Image.
Chunk(Image image, float offsetX, float offsetY, boolean changeLeading)
          Constructs a chunk containing an Image.
Chunk(java.lang.String content)
          Constructs a chunk of text with a certain content, without specifying a Font.
Chunk(java.lang.String content, Font font)
          Constructs a chunk of text with a certain content and a certain Font.
 
Method Summary
 java.lang.StringBuffer append(java.lang.String string)
          appends some text to this Chunk.
 java.util.HashMap getAttributes()
          Gets the attributes for this Chunk.
 java.util.ArrayList getChunks()
          Gets all the chunks in this element.
 java.lang.String getContent()
          Returns the content of this Chunk.
 Font getFont()
          Gets the font of this Chunk.
 float getHorizontalScaling()
          Gets the horizontal scaling.
 HyphenationEvent getHyphenation()
          Returns the hyphenation (if present).
 Image getImage()
          Returns the image.
 float getTextRise()
          Gets the text displacement relative to the baseline.
 float getWidthPoint()
          Gets the width of the Chunk in points.
 boolean hasAttributes()
          Checks the attributes of this Chunk.
 boolean isContent()
          Checks if this element is a content object.
 boolean isEmpty()
          Checks is this Chunk is empty.
 boolean isNestable()
          Checks if this element is nestable.
 boolean process(ElementListener listener)
          Processes the element by adding it (or the different parts) to an ElementListener.
 Chunk setAction(PdfAction action)
          Sets an action for this Chunk.
 Chunk setAnchor(java.lang.String url)
          Sets an anchor for this Chunk.
 Chunk setAnchor(java.net.URL url)
          Sets an anchor for this Chunk.
 Chunk setAnnotation(PdfAnnotation annotation)
          Sets a generic annotation to this Chunk.
 void setAttributes(java.util.HashMap attributes)
          Sets the attributes all at once.
 Chunk setBackground(java.awt.Color color)
          Sets the color of the background Chunk.
 Chunk setBackground(java.awt.Color color, float extraLeft, float extraBottom, float extraRight, float extraTop)
          Sets the color and the size of the background Chunk.
 void setFont(Font font)
          Sets the font of this Chunk.
 Chunk setGenericTag(java.lang.String text)
          Sets the generic tag Chunk.
 Chunk setHorizontalScaling(float scale)
          Sets the text horizontal scaling.
 Chunk setHyphenation(HyphenationEvent hyphenation)
          sets the hyphenation engine to this Chunk.
 Chunk setLocalDestination(java.lang.String name)
          Sets a local destination for this Chunk.
 Chunk setLocalGoto(java.lang.String name)
          Sets a local goto for this Chunk.
 Chunk setNewPage()
          Sets a new page tag..
 Chunk setRemoteGoto(java.lang.String filename, int page)
          Sets a goto for a remote destination for this Chunk.
 Chunk setRemoteGoto(java.lang.String filename, java.lang.String name)
          Sets a goto for a remote destination for this Chunk.
 Chunk setSkew(float alpha, float beta)
          Skews the text to simulate italic and other effects.
 Chunk setSplitCharacter(SplitCharacter splitCharacter)
          Sets the split characters.
 Chunk setTextRenderMode(int mode, float strokeWidth, java.awt.Color strokeColor)
          Sets the text rendering mode.
 Chunk setTextRise(float rise)
          Sets the text displacement relative to the baseline.
 Chunk setUnderline(java.awt.Color color, float thickness, float thicknessMul, float yPosition, float yPositionMul, int cap)
          Sets an horizontal line that can be an underline or a strikethrough.
 Chunk setUnderline(float thickness, float yPosition)
          Sets an horizontal line that can be an underline or a strikethrough.
 java.lang.String toString()
          Returns the content of this Chunk.
 int type()
          Gets the type of the text element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OBJECT_REPLACEMENT_CHARACTER

public static final java.lang.String OBJECT_REPLACEMENT_CHARACTER
The character stand in for an image or a separator.

See Also:
Constant Field Values

NEWLINE

public static final Chunk NEWLINE
This is a Chunk containing a newline.


NEXTPAGE

public static final Chunk NEXTPAGE
This is a Chunk containing a newpage.


content

protected java.lang.StringBuffer content
This is the content of this chunk of text.


font

protected Font font
This is the Font of this chunk of text.


attributes

protected java.util.HashMap attributes
Contains some of the attributes for this Chunk.


SEPARATOR

public static final java.lang.String SEPARATOR
Key for drawInterface of the Separator.

Since:
2.1.2
See Also:
Constant Field Values

TAB

public static final java.lang.String TAB
Key for drawInterface of the tab.

Since:
2.1.2
See Also:
Constant Field Values

HSCALE

public static final java.lang.String HSCALE
Key for text horizontal scaling.

See Also:
Constant Field Values

UNDERLINE

public static final java.lang.String UNDERLINE
Key for underline.

See Also:
Constant Field Values

SUBSUPSCRIPT

public static final java.lang.String SUBSUPSCRIPT
Key for sub/superscript.

See Also:
Constant Field Values

SKEW

public static final java.lang.String SKEW
Key for text skewing.

See Also:
Constant Field Values

BACKGROUND

public static final java.lang.String BACKGROUND
Key for background.

See Also:
Constant Field Values

TEXTRENDERMODE

public static final java.lang.String TEXTRENDERMODE
Key for text rendering mode.

See Also:
Constant Field Values

SPLITCHARACTER

public static final java.lang.String SPLITCHARACTER
Key for split character.

See Also:
Constant Field Values

HYPHENATION

public static final java.lang.String HYPHENATION
Key for hyphenation.

See Also:
Constant Field Values

REMOTEGOTO

public static final java.lang.String REMOTEGOTO
Key for remote goto.

See Also:
Constant Field Values

LOCALGOTO

public static final java.lang.String LOCALGOTO
Key for local goto.

See Also:
Constant Field Values

LOCALDESTINATION

public static final java.lang.String LOCALDESTINATION
Key for local destination.

See Also:
Constant Field Values

GENERICTAG

public static final java.lang.String GENERICTAG
Key for generic tag.

See Also:
Constant Field Values

IMAGE

public static final java.lang.String IMAGE
Key for image.

See Also:
Constant Field Values

ACTION

public static final java.lang.String ACTION
Key for Action.

See Also:
Constant Field Values

NEWPAGE

public static final java.lang.String NEWPAGE
Key for newpage.

See Also:
Constant Field Values

PDFANNOTATION

public static final java.lang.String PDFANNOTATION
Key for annotation.

See Also:
Constant Field Values

COLOR

public static final java.lang.String COLOR
Key for color.

See Also:
Constant Field Values

ENCODING

public static final java.lang.String ENCODING
Key for encoding.

See Also:
Constant Field Values
Constructor Detail

Chunk

public Chunk()
Empty constructor.


Chunk

public Chunk(Chunk ck)
A Chunk copy constructor.

Parameters:
ck - the Chunk to be copied

Chunk

public Chunk(java.lang.String content,
             Font font)
Constructs a chunk of text with a certain content and a certain Font.

Parameters:
content - the content
font - the font

Chunk

public Chunk(java.lang.String content)
Constructs a chunk of text with a certain content, without specifying a Font.

Parameters:
content - the content

Chunk

public Chunk(char c,
             Font font)
Constructs a chunk of text with a char and a certain Font.

Parameters:
c - the content
font - the font

Chunk

public Chunk(char c)
Constructs a chunk of text with a char, without specifying a Font .

Parameters:
c - the content

Chunk

public Chunk(Image image,
             float offsetX,
             float offsetY)
Constructs a chunk containing an Image.

Parameters:
image - the image
offsetX - the image offset in the x direction
offsetY - the image offset in the y direction

Chunk

public Chunk(DrawInterface separator)
Creates a separator Chunk. Note that separator chunks can't be used in combination with tab chunks!

Parameters:
separator - the drawInterface to use to draw the separator.
Since:
2.1.2

Chunk

public Chunk(DrawInterface separator,
             boolean vertical)
Creates a separator Chunk. Note that separator chunks can't be used in combination with tab chunks!

Parameters:
separator - the drawInterface to use to draw the separator.
vertical - true if this is a vertical separator
Since:
2.1.2

Chunk

public Chunk(DrawInterface separator,
             float tabPosition)
Creates a tab Chunk. Note that separator chunks can't be used in combination with tab chunks!

Parameters:
separator - the drawInterface to use to draw the tab.
tabPosition - an X coordinate that will be used as start position for the next Chunk.
Since:
2.1.2

Chunk

public Chunk(DrawInterface separator,
             float tabPosition,
             boolean newline)
Creates a tab Chunk. Note that separator chunks can't be used in combination with tab chunks!

Parameters:
separator - the drawInterface to use to draw the tab.
tabPosition - an X coordinate that will be used as start position for the next Chunk.
newline - if true, a newline will be added if the tabPosition has already been reached.
Since:
2.1.2

Chunk

public Chunk(Image image,
             float offsetX,
             float offsetY,
             boolean changeLeading)
Constructs a chunk containing an Image.

Parameters:
image - the image
offsetX - the image offset in the x direction
offsetY - the image offset in the y direction
changeLeading - true if the leading has to be adapted to the image
Method Detail

process

public boolean process(ElementListener listener)
Processes the element by adding it (or the different parts) to an ElementListener.

Specified by:
process in interface Element
Parameters:
listener - an ElementListener
Returns:
true if the element was processed successfully

type

public int type()
Gets the type of the text element.

Specified by:
type in interface Element
Returns:
a type

getChunks

public java.util.ArrayList getChunks()
Gets all the chunks in this element.

Specified by:
getChunks in interface Element
Returns:
an ArrayList

append

public java.lang.StringBuffer append(java.lang.String string)
appends some text to this Chunk.

Parameters:
string - String
Returns:
a StringBuffer

setFont

public void setFont(Font font)
Sets the font of this Chunk.

Parameters:
font - a Font

getFont

public Font getFont()
Gets the font of this Chunk.

Returns:
a Font

getContent

public java.lang.String getContent()
Returns the content of this Chunk.

Returns:
a String

toString

public java.lang.String toString()
Returns the content of this Chunk.

Specified by:
toString in interface Element
Overrides:
toString in class java.lang.Object
Returns:
a String

isEmpty

public boolean isEmpty()
Checks is this Chunk is empty.

Returns:
false if the Chunk contains other characters than space.

getWidthPoint

public float getWidthPoint()
Gets the width of the Chunk in points.

Returns:
a width in points

hasAttributes

public boolean hasAttributes()
Checks the attributes of this Chunk.

Returns:
false if there aren't any.

getAttributes

public java.util.HashMap getAttributes()
Gets the attributes for this Chunk.

It may be null.

Returns:
the attributes for this Chunk

setAttributes

public void setAttributes(java.util.HashMap attributes)
Sets the attributes all at once.

Parameters:
attributes - the attributes of a Chunk

setHorizontalScaling

public Chunk setHorizontalScaling(float scale)
Sets the text horizontal scaling. A value of 1 is normal and a value of 0.5f shrinks the text to half it's width.

Parameters:
scale - the horizontal scaling factor
Returns:
this Chunk

getHorizontalScaling

public float getHorizontalScaling()
Gets the horizontal scaling.

Returns:
a percentage in float

setUnderline

public Chunk setUnderline(float thickness,
                          float yPosition)
Sets an horizontal line that can be an underline or a strikethrough. Actually, the line can be anywhere vertically and has always the Chunk width. Multiple call to this method will produce multiple lines.

Parameters:
thickness - the absolute thickness of the line
yPosition - the absolute y position relative to the baseline
Returns:
this Chunk

setUnderline

public Chunk setUnderline(java.awt.Color color,
                          float thickness,
                          float thicknessMul,
                          float yPosition,
                          float yPositionMul,
                          int cap)
Sets an horizontal line that can be an underline or a strikethrough. Actually, the line can be anywhere vertically and has always the Chunk width. Multiple call to this method will produce multiple lines.

Parameters:
color - the color of the line or null to follow the text color
thickness - the absolute thickness of the line
thicknessMul - the thickness multiplication factor with the font size
yPosition - the absolute y position relative to the baseline
yPositionMul - the position multiplication factor with the font size
cap - the end line cap. Allowed values are PdfContentByte.LINE_CAP_BUTT, PdfContentByte.LINE_CAP_ROUND and PdfContentByte.LINE_CAP_PROJECTING_SQUARE
Returns:
this Chunk

setTextRise

public Chunk setTextRise(float rise)
Sets the text displacement relative to the baseline. Positive values rise the text, negative values lower the text.

It can be used to implement sub/superscript.

Parameters:
rise - the displacement in points
Returns:
this Chunk

getTextRise

public float getTextRise()
Gets the text displacement relative to the baseline.

Returns:
a displacement in points

setSkew

public Chunk setSkew(float alpha,
                     float beta)
Skews the text to simulate italic and other effects. Try alpha=0 and beta=12.

Parameters:
alpha - the first angle in degrees
beta - the second angle in degrees
Returns:
this Chunk

setBackground

public Chunk setBackground(java.awt.Color color)
Sets the color of the background Chunk.

Parameters:
color - the color of the background
Returns:
this Chunk

setBackground

public Chunk setBackground(java.awt.Color color,
                           float extraLeft,
                           float extraBottom,
                           float extraRight,
                           float extraTop)
Sets the color and the size of the background Chunk.

Parameters:
color - the color of the background
extraLeft - increase the size of the rectangle in the left
extraBottom - increase the size of the rectangle in the bottom
extraRight - increase the size of the rectangle in the right
extraTop - increase the size of the rectangle in the top
Returns:
this Chunk

setTextRenderMode

public Chunk setTextRenderMode(int mode,
                               float strokeWidth,
                               java.awt.Color strokeColor)
Sets the text rendering mode. It can outline text, simulate bold and make text invisible.

Parameters:
mode - the text rendering mode. It can be PdfContentByte.TEXT_RENDER_MODE_FILL, PdfContentByte.TEXT_RENDER_MODE_STROKE, PdfContentByte.TEXT_RENDER_MODE_FILL_STROKE and PdfContentByte.TEXT_RENDER_MODE_INVISIBLE.
strokeWidth - the stroke line width for the modes PdfContentByte.TEXT_RENDER_MODE_STROKE and PdfContentByte.TEXT_RENDER_MODE_FILL_STROKE.
strokeColor - the stroke color or null to follow the text color
Returns:
this Chunk

setSplitCharacter

public Chunk setSplitCharacter(SplitCharacter splitCharacter)
Sets the split characters.

Parameters:
splitCharacter - the SplitCharacter interface
Returns:
this Chunk

setHyphenation

public Chunk setHyphenation(HyphenationEvent hyphenation)
sets the hyphenation engine to this Chunk.

Parameters:
hyphenation - the hyphenation engine
Returns:
this Chunk

setRemoteGoto

public Chunk setRemoteGoto(java.lang.String filename,
                           java.lang.String name)
Sets a goto for a remote destination for this Chunk.

Parameters:
filename - the file name of the destination document
name - the name of the destination to go to
Returns:
this Chunk

setRemoteGoto

public Chunk setRemoteGoto(java.lang.String filename,
                           int page)
Sets a goto for a remote destination for this Chunk.

Parameters:
filename - the file name of the destination document
page - the page of the destination to go to. First page is 1
Returns:
this Chunk

setLocalGoto

public Chunk setLocalGoto(java.lang.String name)
Sets a local goto for this Chunk.

There must be a local destination matching the name.

Parameters:
name - the name of the destination to go to
Returns:
this Chunk

setLocalDestination

public Chunk setLocalDestination(java.lang.String name)
Sets a local destination for this Chunk.

Parameters:
name - the name for this destination
Returns:
this Chunk

setGenericTag

public Chunk setGenericTag(java.lang.String text)
Sets the generic tag Chunk.

The text for this tag can be retrieved with PdfPageEvent.

Parameters:
text - the text for the tag
Returns:
this Chunk

getImage

public Image getImage()
Returns the image.

Returns:
the image

setAction

public Chunk setAction(PdfAction action)
Sets an action for this Chunk.

Parameters:
action - the action
Returns:
this Chunk

setAnchor

public Chunk setAnchor(java.net.URL url)
Sets an anchor for this Chunk.

Parameters:
url - the URL to link to
Returns:
this Chunk

setAnchor

public Chunk setAnchor(java.lang.String url)
Sets an anchor for this Chunk.

Parameters:
url - the url to link to
Returns:
this Chunk

setNewPage

public Chunk setNewPage()
Sets a new page tag..

Returns:
this Chunk

setAnnotation

public Chunk setAnnotation(PdfAnnotation annotation)
Sets a generic annotation to this Chunk.

Parameters:
annotation - the annotation
Returns:
this Chunk

isContent

public boolean isContent()
Description copied from interface: Element
Checks if this element is a content object. If not, it's a metadata object.

Specified by:
isContent in interface Element
Returns:
true if this is a 'content' element; false if this is a 'metadata' element
Since:
iText 2.0.8
See Also:
Element.isContent()

isNestable

public boolean isNestable()
Description copied from interface: Element
Checks if this element is nestable.

Specified by:
isNestable in interface Element
Returns:
true if this element can be nested inside other elements.
Since:
iText 2.0.8
See Also:
Element.isNestable()

getHyphenation

public HyphenationEvent getHyphenation()
Returns the hyphenation (if present).

Since:
2.1.2


iText 2.1.7