Class PdfChunk

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

public class PdfChunk extends Object
A PdfChunk is the PDF translation of a Chunk.

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

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private HashMap
    Metric attributes.
    private BaseFont
     
    protected boolean
    Indicates if the height and offset of the Image has to be taken into account
    private String
    The encoding.
    protected PdfFont
    The font for this PdfChunk.
    private Image
    The image in this PdfChunk, if it has one
    private static final float
     
    private static final HashMap
    The allowed attributes in variable attributes.
    private static final HashMap
    The allowed attributes in variable noStroke.
    private boolean
    true if the chunk split was cause by a newline.
    private HashMap
    Non metric attributes.
    private float
    The offset in the x direction for the image
    private float
    The offset in the y direction for the image
    private static final char[]
     
     
    private static final PdfChunk[]
     
    private String
    The value of this object.
  • Constructor Summary

    Constructors
    Constructor
    Description
    PdfChunk(Chunk chunk, PdfAction action)
    Constructs a PdfChunk-object.
    PdfChunk(String string, PdfChunk other)
    Constructs a PdfChunk-object.
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
    adjustLeft(float newValue)
    Correction for the tab position based on the left starting position.
    (package private) Color
    Returns the color of this Chunk.
    (package private) PdfFont
    Returns the font of this Chunk.
    (package private) Object
    Gets an attribute.
    (package private) float
    getCharWidth(int c)
     
    (package private) Image
    Gets the image in the PdfChunk.
    (package private) float
    Gets the image offset in the x direction
    (package private) float
    Gets the image offset in the y direction
    float
    Gets the text displacement relative to the baseline.
    (package private) int
    Gets the Unicode equivalent to a CID.
    (package private) float
    getWidthCorrected(float charSpacing, float wordSpacing)
    Gets the width of the PdfChunk taking into account the extra character and word spacing.
    private int
    getWord(String text, int start)
     
    (package private) boolean
    Checks if the attribute exists.
    (package private) boolean
    isExtSplitCharacter(int start, int current, int end, char[] cc, PdfChunk[] ck)
     
    (package private) boolean
    Checks if this PdfChunk is a horizontal Separator Chunk.
    (package private) boolean
    Checks if there is an image in the PdfChunk.
    boolean
    Checks if the PdfChunk split was caused by a newline.
    (package private) boolean
    Checks if this PdfChunk is a Separator Chunk.
    (package private) boolean
    Tells you if this string is in Chinese, Japanese, Korean or Identity-H.
    (package private) boolean
    Checks if this PdfChunk needs some special metrics handling.
    (package private) boolean
    Checks if this PdfChunk is a tab Chunk.
    (package private) int
     
    (package private) int
     
    (package private) static boolean
    noPrint(int c)
     
    (package private) void
    sets the value.
    (package private) PdfChunk
    split(float width)
    Splits this PdfChunk if it's too long for the given width.
     
    private String
    trim(String string)
    Removes all the ' ' and '-'-characters on the right of a String.
    float
     
    (package private) float
    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
    Returns the width of this PdfChunk.

    Methods inherited from class java.lang.Object

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

    • singleSpace

      private static final char[] singleSpace
    • thisChunk

      private static final PdfChunk[] thisChunk
    • ITALIC_ANGLE

      private static final float ITALIC_ANGLE
      See Also:
    • keysAttributes

      private static final HashMap keysAttributes
      The allowed attributes in variable attributes.
    • keysNoStroke

      private static final HashMap keysNoStroke
      The allowed attributes in variable noStroke.
    • value

      private String value
      The value of this object.
    • encoding

      private String encoding
      The encoding.
    • font

      protected PdfFont font
      The font for this PdfChunk.
    • baseFont

      private BaseFont baseFont
    • splitCharacter

      private SplitCharacter splitCharacter
    • attributes

      private HashMap attributes
      Metric attributes.

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

    • noStroke

      private HashMap noStroke
      Non metric attributes.

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

    • newlineSplit

      private boolean newlineSplit
      true if the chunk split was cause by a newline.
    • image

      private Image image
      The image in this PdfChunk, if it has one
    • offsetX

      private float offsetX
      The offset in the x direction for the image
    • offsetY

      private 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 Details

    • PdfChunk

      PdfChunk(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 Details

    • getUnicodeEquivalent

      int getUnicodeEquivalent(int c)
      Gets the Unicode equivalent to a CID. The (inexistent) CID is translated as '\n'. It has only meaning with CJK fonts with Identity encoding.
      Parameters:
      c - the CID code
      Returns:
      the Unicode equivalent
    • getWord

      private int getWord(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

      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

      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

      float trimLastSpace()
      Trims the last space.
      Returns:
      the width of the space trimmed, otherwise 0
    • trimFirstSpace

      public float trimFirstSpace()
    • getAttribute

      Object getAttribute(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(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
    • getImageOffsetX

      float getImageOffsetX()
      Gets the image offset in the x direction
      Returns:
      the image offset in the x direction
    • getImageOffsetY

      float getImageOffsetY()
      Gets the image offset in the y direction
      Returns:
      Gets the image offset in the y direction
    • setValue

      void setValue(String value)
      sets the value.
      Parameters:
      value - content of the Chunk
    • toString

      public String toString()
      Overrides:
      toString in class Object
      See Also:
    • 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
    • length

      int length()
    • lengthUtf32

      int lengthUtf32()
    • isExtSplitCharacter

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

      private String trim(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
    • getCharWidth

      float getCharWidth(int c)
    • noPrint

      static boolean noPrint(int c)