- java.lang.Object
-
- com.itextpdf.text.Chunk
-
- All Implemented Interfaces:
Element
public class Chunk extends java.lang.Object implements Element
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 aStringwith a certainFont. 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 Color(255, 0, 0))); document.add(chunk);
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringACTIONKey for Action.protected java.util.HashMapattributesContains some of the attributes for this Chunk.static java.lang.StringBACKGROUNDKey for background.static java.lang.StringCHAR_SPACINGKey for character spacing.static java.lang.StringCOLORKey for color.protected java.lang.StringBuffercontentThis is the content of this chunk of text.static java.lang.StringENCODINGKey for encoding.protected FontfontThis is theFontof this chunk of text.static java.lang.StringGENERICTAGKey for generic tag.static java.lang.StringHSCALEKey for text horizontal scaling.static java.lang.StringHYPHENATIONKey for hyphenation.static java.lang.StringIMAGEKey for image.static java.lang.StringLOCALDESTINATIONKey for local destination.static java.lang.StringLOCALGOTOKey for local goto.static ChunkNEWLINEThis is a Chunk containing a newline.static java.lang.StringNEWPAGEKey for newpage.static ChunkNEXTPAGEThis is a Chunk containing a newpage.static java.lang.StringOBJECT_REPLACEMENT_CHARACTERThe character stand in for an image or a separator.static java.lang.StringPDFANNOTATIONKey for annotation.static java.lang.StringREMOTEGOTOKey for remote goto.static java.lang.StringSEPARATORKey for drawInterface of the Separator.static java.lang.StringSKEWKey for text skewing.static java.lang.StringSPLITCHARACTERKey for split character.static java.lang.StringSUBSUPSCRIPTKey for sub/superscript.static java.lang.StringTABKey for drawInterface of the tab.static java.lang.StringTEXTRENDERMODEKey for text rendering mode.static java.lang.StringUNDERLINEKey for underline.-
Fields inherited from interface com.itextpdf.text.Element
ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK
-
-
Constructor Summary
Constructors Constructor Description Chunk()Empty constructor.Chunk(char c)Constructs a chunk of text with a char, without specifying aFont.Chunk(char c, Font font)Constructs a chunk of text with a char and a certainFont.Chunk(Chunk ck)AChunkcopy constructor.Chunk(Image image, float offsetX, float offsetY)Constructs a chunk containing anImage.Chunk(Image image, float offsetX, float offsetY, boolean changeLeading)Constructs a chunk containing anImage.Chunk(DrawInterface separator)Creates a separator Chunk.Chunk(DrawInterface separator, boolean vertical)Creates a separator Chunk.Chunk(DrawInterface separator, float tabPosition)Creates a tab Chunk.Chunk(DrawInterface separator, float tabPosition, boolean newline)Creates a tab Chunk.Chunk(java.lang.String content)Constructs a chunk of text with a certain content, without specifying aFont.Chunk(java.lang.String content, Font font)Constructs a chunk of text with a certain content and a certainFont.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringBufferappend(java.lang.String string)appends some text to thisChunk.java.util.HashMapgetAttributes()Gets the attributes for thisChunk.floatgetCharacterSpacing()Gets the character spacing.java.util.ArrayListgetChunks()Gets all the chunks in this element.java.lang.StringgetContent()Returns the content of thisChunk.FontgetFont()Gets the font of thisChunk.floatgetHorizontalScaling()Gets the horizontal scaling.HyphenationEventgetHyphenation()Returns the hyphenation (if present).ImagegetImage()Returns the image.floatgetTextRise()Gets the text displacement relative to the baseline.floatgetWidthPoint()Gets the width of the Chunk in points.booleanhasAttributes()Checks the attributes of thisChunk.booleanisContent()Checks if this element is a content object.booleanisEmpty()Checks is thisChunkis empty.booleanisNestable()Checks if this element is nestable.booleanprocess(ElementListener listener)Processes the element by adding it (or the different parts) to anElementListener.ChunksetAction(PdfAction action)Sets an action for thisChunk.ChunksetAnchor(java.lang.String url)Sets an anchor for thisChunk.ChunksetAnchor(java.net.URL url)Sets an anchor for thisChunk.ChunksetAnnotation(PdfAnnotation annotation)Sets a generic annotation to thisChunk.voidsetAttributes(java.util.HashMap attributes)Sets the attributes all at once.ChunksetBackground(java.awt.Color color)Sets the color of the backgroundChunk.ChunksetBackground(java.awt.Color color, float extraLeft, float extraBottom, float extraRight, float extraTop)Sets the color and the size of the backgroundChunk.ChunksetCharacterSpacing(float charSpace)Sets the character spacing.voidsetFont(Font font)Sets the font of thisChunk.ChunksetGenericTag(java.lang.String text)Sets the generic tagChunk.ChunksetHorizontalScaling(float scale)Sets the text horizontal scaling.ChunksetHyphenation(HyphenationEvent hyphenation)sets the hyphenation engine to thisChunk.ChunksetLocalDestination(java.lang.String name)Sets a local destination for thisChunk.ChunksetLocalGoto(java.lang.String name)Sets a local goto for thisChunk.ChunksetNewPage()Sets a new page tag..ChunksetRemoteGoto(java.lang.String filename, int page)Sets a goto for a remote destination for thisChunk.ChunksetRemoteGoto(java.lang.String filename, java.lang.String name)Sets a goto for a remote destination for thisChunk.ChunksetSkew(float alpha, float beta)Skews the text to simulate italic and other effects.ChunksetSplitCharacter(SplitCharacter splitCharacter)Sets the split characters.ChunksetTextRenderMode(int mode, float strokeWidth, java.awt.Color strokeColor)Sets the text rendering mode.ChunksetTextRise(float rise)Sets the text displacement relative to the baseline.ChunksetUnderline(float thickness, float yPosition)Sets an horizontal line that can be an underline or a strikethrough.ChunksetUnderline(java.awt.Color color, float thickness, float thicknessMul, float yPosition, float yPositionMul, int cap)Sets an horizontal line that can be an underline or a strikethrough.java.lang.StringtoString()Returns the content of thisChunk.inttype()Gets the type of the text element.
-
-
-
Field Detail
-
OBJECT_REPLACEMENT_CHARACTER
public static final java.lang.String OBJECT_REPLACEMENT_CHARACTER
The character stand in for an image or a separator.- See Also:
- Constant Field Values
-
NEWLINE
public static final Chunk NEWLINE
This is a Chunk containing a newline.
-
NEXTPAGE
public static final Chunk NEXTPAGE
This is a Chunk containing a newpage.
-
content
protected java.lang.StringBuffer content
This is the content of this chunk of text.
-
font
protected Font font
This is theFontof this chunk of text.
-
attributes
protected java.util.HashMap attributes
Contains some of the attributes for this Chunk.
-
SEPARATOR
public static final java.lang.String SEPARATOR
Key for drawInterface of the Separator.- Since:
- 2.1.2
- See Also:
- Constant Field Values
-
TAB
public static final java.lang.String TAB
Key for drawInterface of the tab.- Since:
- 2.1.2
- See Also:
- Constant Field Values
-
HSCALE
public static final java.lang.String HSCALE
Key for text horizontal scaling.- See Also:
- Constant Field Values
-
UNDERLINE
public static final java.lang.String UNDERLINE
Key for underline.- See Also:
- Constant Field Values
-
SUBSUPSCRIPT
public static final java.lang.String SUBSUPSCRIPT
Key for sub/superscript.- See Also:
- Constant Field Values
-
SKEW
public static final java.lang.String SKEW
Key for text skewing.- See Also:
- Constant Field Values
-
BACKGROUND
public static final java.lang.String BACKGROUND
Key for background.- See Also:
- Constant Field Values
-
TEXTRENDERMODE
public static final java.lang.String TEXTRENDERMODE
Key for text rendering mode.- See Also:
- Constant Field Values
-
SPLITCHARACTER
public static final java.lang.String SPLITCHARACTER
Key for split character.- See Also:
- Constant Field Values
-
HYPHENATION
public static final java.lang.String HYPHENATION
Key for hyphenation.- See Also:
- Constant Field Values
-
REMOTEGOTO
public static final java.lang.String REMOTEGOTO
Key for remote goto.- See Also:
- Constant Field Values
-
LOCALGOTO
public static final java.lang.String LOCALGOTO
Key for local goto.- See Also:
- Constant Field Values
-
LOCALDESTINATION
public static final java.lang.String LOCALDESTINATION
Key for local destination.- See Also:
- Constant Field Values
-
GENERICTAG
public static final java.lang.String GENERICTAG
Key for generic tag.- See Also:
- Constant Field Values
-
IMAGE
public static final java.lang.String IMAGE
Key for image.- See Also:
- Constant Field Values
-
ACTION
public static final java.lang.String ACTION
Key for Action.- See Also:
- Constant Field Values
-
NEWPAGE
public static final java.lang.String NEWPAGE
Key for newpage.- See Also:
- Constant Field Values
-
PDFANNOTATION
public static final java.lang.String PDFANNOTATION
Key for annotation.- See Also:
- Constant Field Values
-
COLOR
public static final java.lang.String COLOR
Key for color.- See Also:
- Constant Field Values
-
ENCODING
public static final java.lang.String ENCODING
Key for encoding.- See Also:
- Constant Field Values
-
CHAR_SPACING
public static final java.lang.String CHAR_SPACING
Key for character spacing.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Chunk
public Chunk()
Empty constructor.
-
Chunk
public Chunk(Chunk ck)
AChunkcopy constructor.- Parameters:
ck- theChunkto be copied
-
Chunk
public Chunk(java.lang.String content, Font font)Constructs a chunk of text with a certain content and a certainFont.- Parameters:
content- the contentfont- the font
-
Chunk
public Chunk(java.lang.String content)
Constructs a chunk of text with a certain content, without specifying aFont.- Parameters:
content- the content
-
Chunk
public Chunk(char c, Font font)Constructs a chunk of text with a char and a certainFont.- Parameters:
c- the contentfont- the font
-
Chunk
public Chunk(char c)
Constructs a chunk of text with a char, without specifying aFont.- Parameters:
c- the content
-
Chunk
public Chunk(Image image, float offsetX, float offsetY)
Constructs a chunk containing anImage.- Parameters:
image- the imageoffsetX- the image offset in the x directionoffsetY- 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
public Chunk(DrawInterface separator, float tabPosition)
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
public Chunk(DrawInterface separator, float tabPosition, boolean newline)
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 anImage.- Parameters:
image- the imageoffsetX- the image offset in the x directionoffsetY- the image offset in the y directionchangeLeading- 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 anElementListener.
-
type
public int type()
Gets the type of the text element.
-
getChunks
public java.util.ArrayList getChunks()
Gets all the chunks in this element.
-
append
public java.lang.StringBuffer append(java.lang.String string)
appends some text to thisChunk.- Parameters:
string-String- Returns:
- a
StringBuffer
-
setFont
public void setFont(Font font)
Sets the font of thisChunk.- Parameters:
font- aFont
-
getFont
public Font getFont()
Gets the font of thisChunk.- Returns:
- a
Font
-
getContent
public java.lang.String getContent()
Returns the content of thisChunk.- Returns:
- a
String
-
toString
public java.lang.String toString()
Returns the content of thisChunk.
-
isEmpty
public boolean isEmpty()
Checks is thisChunkis empty.- Returns:
falseif 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 thisChunk.- Returns:
- false if there aren't any.
-
getAttributes
public java.util.HashMap getAttributes()
Gets the attributes for thisChunk.It may be null.
- Returns:
- the attributes for this
Chunk
-
setAttributes
public void setAttributes(java.util.HashMap 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 theChunkwidth. Multiple call to this method will produce multiple lines.- Parameters:
thickness- the absolute thickness of the lineyPosition- the absolute y position relative to the baseline- Returns:
- this
Chunk
-
setUnderline
public Chunk setUnderline(java.awt.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 theChunkwidth. Multiple call to this method will produce multiple lines.- Parameters:
color- the color of the line ornullto follow the text colorthickness- the absolute thickness of the linethicknessMul- the thickness multiplication factor with the font sizeyPosition- the absolute y position relative to the baselineyPositionMul- the position multiplication factor with the font sizecap- 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. Tryalpha=0andbeta=12.- Parameters:
alpha- the first angle in degreesbeta- the second angle in degrees- Returns:
- this
Chunk
-
setBackground
public Chunk setBackground(java.awt.Color color)
Sets the color of the backgroundChunk.- Parameters:
color- the color of the background- Returns:
- this
Chunk
-
setBackground
public Chunk setBackground(java.awt.Color color, float extraLeft, float extraBottom, float extraRight, float extraTop)
Sets the color and the size of the backgroundChunk.- Parameters:
color- the color of the backgroundextraLeft- increase the size of the rectangle in the leftextraBottom- increase the size of the rectangle in the bottomextraRight- increase the size of the rectangle in the rightextraTop- increase the size of the rectangle in the top- Returns:
- this
Chunk
-
setTextRenderMode
public Chunk setTextRenderMode(int mode, float strokeWidth, java.awt.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 bePdfContentByte.TEXT_RENDER_MODE_FILL,PdfContentByte.TEXT_RENDER_MODE_STROKE,PdfContentByte.TEXT_RENDER_MODE_FILL_STROKEandPdfContentByte.TEXT_RENDER_MODE_INVISIBLE.strokeWidth- the stroke line width for the modesPdfContentByte.TEXT_RENDER_MODE_STROKEandPdfContentByte.TEXT_RENDER_MODE_FILL_STROKE.strokeColor- the stroke color ornullto follow the text color- Returns:
- this
Chunk
-
setSplitCharacter
public Chunk setSplitCharacter(SplitCharacter splitCharacter)
Sets the split characters.- Parameters:
splitCharacter- theSplitCharacterinterface- Returns:
- this
Chunk
-
setHyphenation
public Chunk setHyphenation(HyphenationEvent hyphenation)
sets the hyphenation engine to thisChunk.- Parameters:
hyphenation- the hyphenation engine- Returns:
- this
Chunk
-
setRemoteGoto
public Chunk setRemoteGoto(java.lang.String filename, java.lang.String name)
Sets a goto for a remote destination for thisChunk.- Parameters:
filename- the file name of the destination documentname- the name of the destination to go to- Returns:
- this
Chunk
-
setRemoteGoto
public Chunk setRemoteGoto(java.lang.String filename, int page)
Sets a goto for a remote destination for thisChunk.- Parameters:
filename- the file name of the destination documentpage- the page of the destination to go to. First page is 1- Returns:
- this
Chunk
-
setLocalGoto
public Chunk setLocalGoto(java.lang.String name)
Sets a local goto for thisChunk.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(java.lang.String name)
Sets a local destination for thisChunk.- Parameters:
name- the name for this destination- Returns:
- this
Chunk
-
setGenericTag
public Chunk setGenericTag(java.lang.String text)
Sets the generic tagChunk.The text for this tag can be retrieved with
PdfPageEvent.- Parameters:
text- the text for the tag- Returns:
- this
Chunk
-
getImage
public Image getImage()
Returns the image.- Returns:
- the image
-
setAction
public Chunk setAction(PdfAction action)
Sets an action for thisChunk.- Parameters:
action- the action- Returns:
- this
Chunk
-
setAnchor
public Chunk setAnchor(java.net.URL url)
Sets an anchor for thisChunk.- Parameters:
url- theURLto link to- Returns:
- this
Chunk
-
setAnchor
public Chunk setAnchor(java.lang.String url)
Sets an anchor for thisChunk.- 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 thisChunk.- Parameters:
annotation- the annotation- Returns:
- this
Chunk
-
isContent
public boolean isContent()
Description copied from interface:ElementChecks if this element is a content object. If not, it's a metadata object.- Specified by:
isContentin interfaceElement- 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:ElementChecks if this element is nestable.- Specified by:
isNestablein interfaceElement- 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).- 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
-
-