Class PdfChunk

java.lang.Object
com.lowagie.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 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 Map<String,Object> keysAttributes
      The allowed attributes in variable attributes.
    • keysNoStroke

      private static final Map<String,Object> keysNoStroke
      The allowed attributes in variable noStroke.
    • value

      protected String value
      The value of this object.
    • encoding

      protected String encoding
      The encoding.
    • font

      protected PdfFont font
      The font for this PdfChunk.
    • baseFont

      protected BaseFont baseFont
    • splitCharacter

      protected SplitCharacter splitCharacter
    • attributes

      protected Map<String,Object> attributes
      Metric attributes.

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

    • noStroke

      protected Map<String,Object> 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 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

    • noPrint

      public static boolean noPrint(int c)
    • getUnicodeEquivalent

      public int getUnicodeEquivalent(int c)
      Gets the Unicode equivalent to a CID. The (nonexistent) 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(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

      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

      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
    • isVerticalSeparator

      boolean isVerticalSeparator()
      Checks if this PdfChunk is a vertical Separator Chunk.
      Returns:
      true if this chunk is a vertical separator.
      Since:
      OpenPDF
    • 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
    • setImageOffsetX

      void setImageOffsetX(float offsetX)
      Sets the image offset in the x direction
      Parameters:
      offsetX - 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
    • setImageOffsetY

      void setImageOffsetY(float offsetY)
      Sets the image offset in the y direction
      Parameters:
      offsetY - 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
    • getEncoding

      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

      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
    • changeLeading

      public boolean changeLeading()
    • getCharWidth

      float getCharWidth(int c)