Class Chunk

java.lang.Object
com.itextpdf.text.Chunk
All Implemented Interfaces:
Element, IAccessibleElement
Direct Known Subclasses:
TabbedChunk

public class Chunk extends Object implements Element, IAccessibleElement
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 BaseColor(255, 0,
 0)));  document.add(chunk);

 
  • Field Details

  • Constructor Details

    • Chunk

      public Chunk()
      Empty constructor.
    • Chunk

      public Chunk(Chunk ck)
      A Chunk copy constructor.
      Parameters:
      ck - the Chunk to be copied
    • Chunk

      public Chunk(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(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

      @Deprecated public Chunk(DrawInterface separator, float tabPosition)
      Deprecated.
      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

      @Deprecated public Chunk(DrawInterface separator, float tabPosition, boolean newline)
      Deprecated.
      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

      private Chunk(Float tabInterval, boolean isWhitespace)
      Creates a tab Chunk.
      Parameters:
      tabInterval - an interval that will be used if tab stops are omitted.
      isWhitespace - if true, the current tab is treated as white space.
      Since:
      5.4.1
    • 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 Details

    • 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 List<Chunk> getChunks()
      Gets all the chunks in this element.
      Specified by:
      getChunks in interface Element
      Returns:
      an ArrayList
    • append

      public StringBuffer append(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 String getContent()
      Returns the content of this Chunk.
      Returns:
      a String
    • toString

      public String toString()
      Returns the content of this Chunk.
      Specified by:
      toString in interface Element
      Overrides:
      toString in class 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.
    • hasAccessibleAttributes

      public boolean hasAccessibleAttributes()
      Checks the accessible attributes of this Chunk.
      Returns:
      false if there aren't any.
    • getAttributes

      public HashMap<String,Object> getAttributes()
      Gets the attributes for this Chunk.

      It may be null.

      Returns:
      the attributes for this Chunk
    • setAttributes

      public void setAttributes(HashMap<String,Object> attributes)
      Sets the attributes all at once.
      Parameters:
      attributes - the attributes of a Chunk
    • setAttribute

      private Chunk setAttribute(String name, 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(BaseColor 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(BaseColor color)
      Sets the color of the background Chunk.
      Parameters:
      color - the color of the background
      Returns:
      this Chunk
    • setBackground

      public Chunk setBackground(BaseColor 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, BaseColor 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(String filename, 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(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(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(String name)
      Sets a local destination for this Chunk.
      Parameters:
      name - the name for this destination
      Returns:
      this Chunk
    • setGenericTag

      public Chunk setGenericTag(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
    • setLineHeight

      public Chunk setLineHeight(float lineheight)
      Sets a line height 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(URL url)
      Sets an anchor for this Chunk.
      Parameters:
      url - the URL to link to
      Returns:
      this Chunk
    • setAnchor

      public Chunk setAnchor(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:
    • 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:
    • getHyphenation

      public HyphenationEvent getHyphenation()
      Returns the hyphenation (if present).
      Returns:
      the HypenationEvent of this Chunk
      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
    • setWordSpacing

      public Chunk setWordSpacing(float wordSpace)
      Sets the word spacing.
      Parameters:
      wordSpace - the word spacing value
      Returns:
      this Chunk
    • getWordSpacing

      public float getWordSpacing()
      Gets the word spacing.
      Returns:
      a value in float
    • createWhitespace

      public static Chunk createWhitespace(String content)
    • createWhitespace

      public static Chunk createWhitespace(String content, boolean preserve)
    • isWhitespace

      public boolean isWhitespace()
    • createTabspace

      @Deprecated public static Chunk createTabspace()
      Deprecated.
    • createTabspace

      @Deprecated public static Chunk createTabspace(float spacing)
      Deprecated.
    • isTabspace

      @Deprecated public boolean isTabspace()
      Deprecated.
    • getAccessibleAttribute

      public PdfObject getAccessibleAttribute(PdfName key)
      Description copied from interface: IAccessibleElement
      Get the attribute of accessible element (everything in A dictionary + Lang, Alt, ActualText, E).
      Specified by:
      getAccessibleAttribute in interface IAccessibleElement
      Parameters:
      key -
      Returns:
    • setAccessibleAttribute

      public void setAccessibleAttribute(PdfName key, PdfObject value)
      Description copied from interface: IAccessibleElement
      Set the attribute of accessible element (everything in A dictionary + Lang, Alt, ActualText, E).
      Specified by:
      setAccessibleAttribute in interface IAccessibleElement
      Parameters:
      key -
      value -
    • getAccessibleAttributes

      public HashMap<PdfName,PdfObject> getAccessibleAttributes()
      Description copied from interface: IAccessibleElement
      Gets all the properties of accessible element.
      Specified by:
      getAccessibleAttributes in interface IAccessibleElement
      Returns:
    • getRole

      public PdfName getRole()
      Description copied from interface: IAccessibleElement
      Gets the role of the accessible element.
      Specified by:
      getRole in interface IAccessibleElement
      Returns:
    • setRole

      public void setRole(PdfName role)
      Description copied from interface: IAccessibleElement
      Sets the role of the accessiblee element. Set role to null if you don't want to tag this element. Note that all child elements won't also be tagged.
      Specified by:
      setRole in interface IAccessibleElement
      Parameters:
      role -
    • getId

      public AccessibleElementId getId()
      Specified by:
      getId in interface IAccessibleElement
    • setId

      public void setId(AccessibleElementId id)
      Specified by:
      setId in interface IAccessibleElement
    • isInline

      public boolean isInline()
      Specified by:
      isInline in interface IAccessibleElement
    • getTextExpansion

      public String getTextExpansion()
    • setTextExpansion

      public void setTextExpansion(String value)
      Sets the textual expansion of the abbreviation or acronym. It is highly recommend to set textuual expansion when generating PDF/UA documents.
      Parameters:
      value -