java.lang.Object
com.gitlab.pdftk_java.com.lowagie.text.Chunk
All Implemented Interfaces:
Element, MarkupAttributes

public class Chunk extends Object implements Element, MarkupAttributes
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 layoutparameters 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 Details

  • Constructor Details

    • Chunk

      protected Chunk()
      Empty constructor.
    • 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(Properties attributes)
      Returns a Chunk that has been constructed taking in account the value of some attributes .
      Parameters:
      attributes - Some attributes
  • 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 ArrayList 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
    • font

      public Font font()
      Gets the font of this Chunk.
      Returns:
      a Font
    • getFont

      public Font getFont()
    • setFont

      public void setFont(Font font)
      Sets the font of this Chunk.
      Parameters:
      font - a Font
    • content

      public String content()
      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
    • 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 relatiev to the baseline.
      Returns:
      a displacement in points
    • setTextRenderMode

      public Chunk setTextRenderMode(int mode, float strokeWidth, 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
    • 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
    • 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
    • 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
    • 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
    • setBackground

      public Chunk setBackground(Color color)
      Sets the color of the background Chunk.
      Parameters:
      color - the color of the background
      Returns:
      this Chunk
    • setBackground

      public Chunk setBackground(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
    • 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(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
    • addToArray

      public static Object[][] addToArray(Object[][] original, Object[] item)
      Utility method to extend an array.
      Parameters:
      original - the original array or null
      item - the item to be added to the array
      Returns:
      a new array with the item appended
    • setAnnotation

      public Chunk setAnnotation(PdfAnnotation annotation)
      Sets a generic annotation to this Chunk.
      Parameters:
      annotation - the annotation
      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
    • 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
    • setSplitCharacter

      public Chunk setSplitCharacter(SplitCharacter splitCharacter)
      Sets the split characters.
      Parameters:
      splitCharacter - the SplitCharacter interface
      Returns:
      this Chunk
    • setNewPage

      public Chunk setNewPage()
      Sets a new page tag..
      Returns:
      this 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
    • getAttributes

      public HashMap getAttributes()
      Gets the attributes for this Chunk.

      It may be null.

      Returns:
      the attributes for this Chunk
    • hasAttributes

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

      public static boolean isTag(String tag)
      Checks if a given tag corresponds with this object.
      Parameters:
      tag - the given tag
      Returns:
      true if the tag corresponds
    • setMarkupAttribute

      public void setMarkupAttribute(String name, String value)
      Description copied from interface: MarkupAttributes
      Sets the specified attribute.
      Specified by:
      setMarkupAttribute in interface MarkupAttributes
      Parameters:
      name - String attribute name.
      value - String attribute value.
      See Also:
    • setMarkupAttributes

      public void setMarkupAttributes(Properties markupAttributes)
      Description copied from interface: MarkupAttributes
      Sets the markupAttributes.
      Specified by:
      setMarkupAttributes in interface MarkupAttributes
      Parameters:
      markupAttributes - a Properties-object containing markupattributes
      See Also:
    • getMarkupAttribute

      public String getMarkupAttribute(String name)
      Description copied from interface: MarkupAttributes
      Returns the value of the specified attribute.
      Specified by:
      getMarkupAttribute in interface MarkupAttributes
      Parameters:
      name - String attribute name.
      Returns:
      String.
      See Also:
    • getMarkupAttributeNames

      public Set getMarkupAttributeNames()
      Description copied from interface: MarkupAttributes
      Returns a Set of String attribute names for the MarkupAttributes implementor.
      Specified by:
      getMarkupAttributeNames in interface MarkupAttributes
      Returns:
      Set.
      See Also:
    • getMarkupAttributes

      public Properties getMarkupAttributes()
      Description copied from interface: MarkupAttributes
      Return a Properties-object containing all the markupAttributes.
      Specified by:
      getMarkupAttributes in interface MarkupAttributes
      Returns:
      Properties
      See Also:
    • getKeySet

      public static Set getKeySet(Hashtable table)
      Gets the keys of a Hashtable
      Parameters:
      table - a Hashtable
      Returns:
      the keyset of a Hashtable (or an empty set if table is null)