## com.lowagie.text.pdf
Class PdfChunk

    java.lang.Object
      com.lowagie.text.pdf.PdfChunk

    public class PdfChunk

extends java.lang.Object

A `PdfChunk` is the PDF translation of a `Chunk`.

A `PdfChunk` is a `PdfString` in a certain `PdfFont` and `Color`.

See Also:
  `PdfString`, `Chunk`, `Font`

Field Summary
`protected java.util.HashMap` `attributes` Metric attributes.
`protected BaseFont` `baseFont`
`protected boolean` `changeLeading` Indicates if the height and offset of the Image has to be taken into account
`protected java.lang.String` `encoding` The encoding.
`protected PdfFont` `font` The font for this `PdfChunk`.
`protected Image` `image` The image in this `PdfChunk`, if it has one
`private static float` `ITALIC_ANGLE`
`private static java.util.HashMap` `keysAttributes` The allowed attributes in variable `attributes`.
`private static java.util.HashMap` `keysNoStroke` The allowed attributes in variable `noStroke`.
`protected boolean` `newlineSplit` `true` if the chunk split was cause by a newline.
`protected java.util.HashMap` `noStroke` Non metric attributes.
`protected float` `offsetX` The offset in the x direction for the image
`protected float` `offsetY` The offset in the y direction for the image
`private static char[]` `singleSpace`
`protected SplitCharacter` `splitCharacter`
`private static PdfChunk[]` `thisChunk`
`protected java.lang.String` `value` The value of this object.

Constructor Summary
`PdfChunk(Chunk chunk, PdfAction action)` Constructs a `PdfChunk`-object.
`PdfChunk(java.lang.String string, PdfChunk other)` Constructs a `PdfChunk`-object.

Method Summary
`(package private) void` `adjustLeft(float newValue)` Correction for the tab position based on the left starting position.
`boolean` `changeLeading()`
`(package private) java.awt.Color` `color()` Returns the color of this `Chunk`.
`(package private) PdfFont` `font()` Returns the font of this `Chunk`.
`(package private) java.lang.Object` `getAttribute(java.lang.String name)` Gets an attribute.
`(package private) float` `getCharWidth(int c)`
`(package private) java.lang.String` `getEncoding()` Gets the encoding of this string.
`(package private) Image` `getImage()` Gets the image in the `PdfChunk`.
`(package private) float` `getImageOffsetX()` Gets the image offset in the x direction
`(package private) float` `getImageOffsetY()` Gets the image offset in the y direction
`float` `getTextRise()` Gets the text displacement relative to the baseline.
`int` `getUnicodeEquivalent(int c)` Gets the Unicode equivalent to a CID.
`float` `getWidthCorrected(float charSpacing, float wordSpacing)` Gets the width of the `PdfChunk` taking into account the extra character and word spacing.
`protected int` `getWord(java.lang.String text, int start)`
`(package private) boolean` `isAttribute(java.lang.String name)` Checks if the attribute exists.
`(package private) boolean` `isExtSplitCharacter(int start, int current, int end, char[] cc, PdfChunk[] ck)`
`(package private) boolean` `isHorizontalSeparator()` Checks if this `PdfChunk` is a horizontal Separator Chunk.
`(package private) boolean` `isImage()` Checks if there is an image in the `PdfChunk`.
`boolean` `isNewlineSplit()` Checks if the `PdfChunk` split was caused by a newline.
`(package private) boolean` `isSeparator()` Checks if this `PdfChunk` is a Separator Chunk.
`(package private) boolean` `isSpecialEncoding()` Tells you if this string is in Chinese, Japanese, Korean or Identity-H.
`(package private) boolean` `isStroked()` Checks if this `PdfChunk` needs some special metrics handling.
`(package private) boolean` `isTab()` Checks if this `PdfChunk` is a tab Chunk.
`(package private) int` `length()`
`(package private) int` `lengthUtf32()`
`static boolean` `noPrint(int c)`
`(package private) void` `setImageOffsetX(float offsetX)` Sets the image offset in the x direction
`(package private) void` `setImageOffsetY(float offsetY)` Sets the image offset in the y direction
`(package private) void` `setValue(java.lang.String value)` sets the value.
`(package private) PdfChunk` `split(float width)` Splits this `PdfChunk` if it's too long for the given width.
`java.lang.String` `toString()`
`(package private) java.lang.String` `trim(java.lang.String string)` Removes all the ' ' and '-'-characters on the right of a `String`.
`float` `trimFirstSpace()`
`float` `trimLastSpace()` Trims the last space.
`(package private) PdfChunk` `truncate(float width)` Truncates this `PdfChunk` if it's too long for the given width.
`(package private) float` `width()` Returns the width of this `PdfChunk`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### singleSpace

    private static final char[] singleSpace

### thisChunk

    private static final PdfChunk[] thisChunk

### ITALIC_ANGLE

    private static final float ITALIC_ANGLE

See Also:
  Constant Field Values

### keysAttributes

    private static final java.util.HashMap keysAttributes

  The allowed attributes in variable `attributes`.

### keysNoStroke

    private static final java.util.HashMap keysNoStroke

  The allowed attributes in variable `noStroke`.

### value

    protected java.lang.String value

  The value of this object.

### encoding

    protected java.lang.String encoding

  The encoding.

### font

    protected PdfFont font

  The font for this `PdfChunk`.

### baseFont

    protected BaseFont baseFont

### splitCharacter

    protected SplitCharacter splitCharacter

### attributes

    protected java.util.HashMap attributes

  Metric attributes.

  This attributes require the measurement of characters widths when rendering such as underline.

### noStroke

    protected java.util.HashMap noStroke

  Non metric attributes.

  This attributes do not require the measurement of characters widths when rendering such as Color.

### newlineSplit

    protected boolean newlineSplit

  `true` if the chunk split was cause by a newline.

### image

    protected Image image

  The image in this `PdfChunk`, if it has one

### offsetX

    protected float offsetX

  The offset in the x direction for the image

### offsetY

    protected float offsetY

  The offset in the y direction for the image

### changeLeading

    protected boolean changeLeading

  Indicates if the height and offset of the Image has to be taken into account

Constructor Detail

### PdfChunk

    PdfChunk(java.lang.String string,
             PdfChunk other)

  Constructs a `PdfChunk`-object.

  Parameters:
    `string` - the content of the `PdfChunk`-object
    `other` - Chunk with the same style you want for the new Chunk

### PdfChunk

    PdfChunk(Chunk chunk,
             PdfAction action)

  Constructs a `PdfChunk`-object.

  Parameters:
    `chunk` - the original `Chunk`-object
    `action` - the `PdfAction` if the `Chunk` comes from an `Anchor`

Method Detail

### getUnicodeEquivalent

    public int getUnicodeEquivalent(int c)

  Gets the Unicode equivalent to a CID. The (inexistent) CID <FF00> is translated as '\n'. It has only meaning with CJK fonts with Identity encoding.

  Parameters:
    `c` - the CID code
  Returns:
    the Unicode equivalent

### getWord

    protected int getWord(java.lang.String text,
                          int start)

### split

    PdfChunk split(float width)

  Splits this `PdfChunk` if it's too long for the given width.

  Returns null if the `PdfChunk` wasn't truncated.

  Parameters:
    `width` - a given width
  Returns:
    the `PdfChunk` that doesn't fit into the width.

### truncate

    PdfChunk truncate(float width)

  Truncates this `PdfChunk` if it's too long for the given width.

  Returns null if the `PdfChunk` wasn't truncated.

  Parameters:
    `width` - a given width
  Returns:
    the `PdfChunk` that doesn't fit into the width.

### font

    PdfFont font()

  Returns the font of this `Chunk`.

  Returns:
    a `PdfFont`

### color

    java.awt.Color color()

  Returns the color of this `Chunk`.

  Returns:
    a `Color`

### width

    float width()

  Returns the width of this `PdfChunk`.

  Returns:
    a width

### isNewlineSplit

    public boolean isNewlineSplit()

  Checks if the `PdfChunk` split was caused by a newline.

  Returns:
    `true` if the `PdfChunk` split was caused by a newline.

### getWidthCorrected

    public float getWidthCorrected(float charSpacing,
                                   float wordSpacing)

  Gets the width of the `PdfChunk` taking into account the extra character and word spacing.

  Parameters:
    `charSpacing` - the extra character spacing
    `wordSpacing` - the extra word spacing
  Returns:
    the calculated width

### getTextRise

    public float getTextRise()

  Gets the text displacement relative to the baseline.

  Returns:
    a displacement in points

### trimLastSpace

    public float trimLastSpace()

  Trims the last space.

  Returns:
    the width of the space trimmed, otherwise 0

### trimFirstSpace

    public float trimFirstSpace()

### getAttribute

    java.lang.Object getAttribute(java.lang.String name)

  Gets an attribute. The search is made in `attributes` and `noStroke`.

  Parameters:
    `name` - the attribute key
  Returns:
    the attribute value or null if not found

### isAttribute

    boolean isAttribute(java.lang.String name)

  Checks if the attribute exists.

  Parameters:
    `name` - the attribute key
  Returns:
    `true` if the attribute exists

### isStroked

    boolean isStroked()

  Checks if this `PdfChunk` needs some special metrics handling.

  Returns:
    `true` if this `PdfChunk` needs some special metrics handling.

### isSeparator

    boolean isSeparator()

  Checks if this `PdfChunk` is a Separator Chunk.

  Returns:
    true if this chunk is a separator.
  Since:
    2.1.2

### isHorizontalSeparator

    boolean isHorizontalSeparator()

  Checks if this `PdfChunk` is a horizontal Separator Chunk.

  Returns:
    true if this chunk is a horizontal separator.
  Since:
    2.1.2

### isTab

    boolean isTab()

  Checks if this `PdfChunk` is a tab Chunk.

  Returns:
    true if this chunk is a separator.
  Since:
    2.1.2

### adjustLeft

    void adjustLeft(float newValue)

  Correction for the tab position based on the left starting position.

  Parameters:
    `newValue` - the new value for the left X.
  Since:
    2.1.2

### isImage

    boolean isImage()

  Checks if there is an image in the `PdfChunk`.

  Returns:
    `true` if an image is present

### getImage

    Image getImage()

  Gets the image in the `PdfChunk`.

  Returns:
    the image or `null`

### setImageOffsetX

    void setImageOffsetX(float offsetX)

  Sets the image offset in the x direction

  Parameters:
    `offsetX` - the image offset in the x direction

### getImageOffsetX

    float getImageOffsetX()

  Gets the image offset in the x direction

  Returns:
    the image offset in the x direction

### setImageOffsetY

    void setImageOffsetY(float offsetY)

  Sets the image offset in the y direction

  Parameters:
    `offsetY` - the image offset in the y direction

### getImageOffsetY

    float getImageOffsetY()

  Gets the image offset in the y direction

  Returns:
    Gets the image offset in the y direction

### setValue

    void setValue(java.lang.String value)

  sets the value.

  Parameters:
    `value` - content of the Chunk

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`
  See Also:
    `Object.toString()`

### isSpecialEncoding

    boolean isSpecialEncoding()

  Tells you if this string is in Chinese, Japanese, Korean or Identity-H.

  Returns:
    true if the Chunk has a special encoding

### getEncoding

    java.lang.String getEncoding()

  Gets the encoding of this string.

  Returns:
    a `String`

### length

    int length()

### lengthUtf32

    int lengthUtf32()

### isExtSplitCharacter

    boolean isExtSplitCharacter(int start,
                                int current,
                                int end,
                                char[] cc,
                                PdfChunk[] ck)

### trim

    java.lang.String trim(java.lang.String string)

  Removes all the ' ' and '-'-characters on the right of a `String`.

  Parameters:
    `string` - the `String`that has to be trimmed.``
  Returns:
    the trimmed `String`

### changeLeading

    public boolean changeLeading()

### getCharWidth

    float getCharWidth(int c)

### noPrint

    public static boolean noPrint(int c)

Hosted by Hostbasket