Class 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);
    
     
    • Constructor Detail

      • 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

        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 Detail

      • 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
      • 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
      • 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:
        Element.isContent()
      • 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:
        Element.isNestable()
      • 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​(float spacing)
        Deprecated.
      • isTabspace

        @Deprecated
        public boolean isTabspace()
        Deprecated.
      • 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
      • 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 -