## com.lowagie.text
Class Chunk

    java.lang.Object
      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 `Chunk`s. 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` `CHAR_SPACING` Key for character spacing.
`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`.
`float` `getCharacterSpacing()` Gets the character spacing.
`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`.
`private Chunk` `setAttribute(java.lang.String name, java.lang.Object obj)` Sets an arbitrary attribute.
`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`.
`Chunk` `setCharacterSpacing(float charSpace)` Sets the character spacing.
`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

### CHAR_SPACING

    public static final java.lang.String CHAR_SPACING

  Key for character spacing.

  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

### setAttribute

    private Chunk setAttribute(java.lang.String name,
                               java.lang.Object obj)

  Sets an arbitrary attribute.

  Parameters:
    `name` - the key for the attribute
    `obj` - the value of the attribute
  Returns:
    this `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

### setCharacterSpacing

    public Chunk setCharacterSpacing(float charSpace)

  Sets the character spacing.

  Parameters:
    `charSpace` - the character spacing value
  Returns:
    this `Chunk`

### getCharacterSpacing

    public float getCharacterSpacing()

  Gets the character spacing.

  Returns:
    a value in float

Hosted by Hostbasket