Package com.aowagie.text.pdf
Class PdfChunk
- java.lang.Object
-
- com.aowagie.text.pdf.PdfChunk
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashMapattributesMetric attributes.private BaseFontbaseFontprotected booleanchangeLeadingIndicates if the height and offset of the Image has to be taken into accountprivate java.lang.StringencodingThe encoding.protected PdfFontfontThe font for thisPdfChunk.private ImageimageThe image in thisPdfChunk, if it has oneprivate static floatITALIC_ANGLEprivate static java.util.HashMapkeysAttributesThe allowed attributes in variableattributes.private static java.util.HashMapkeysNoStrokeThe allowed attributes in variablenoStroke.private booleannewlineSplittrueif the chunk split was cause by a newline.private java.util.HashMapnoStrokeNon metric attributes.private floatoffsetXThe offset in the x direction for the imageprivate floatoffsetYThe offset in the y direction for the imageprivate static char[]singleSpaceprivate SplitCharactersplitCharacterprivate static PdfChunk[]thisChunkprivate java.lang.StringvalueThe value of this object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidadjustLeft(float newValue)Correction for the tab position based on the left starting position.(package private) java.awt.Colorcolor()Returns the color of thisChunk.(package private) PdfFontfont()Returns the font of thisChunk.(package private) java.lang.ObjectgetAttribute(java.lang.String name)Gets an attribute.(package private) floatgetCharWidth(int c)(package private) ImagegetImage()Gets the image in thePdfChunk.(package private) floatgetImageOffsetX()Gets the image offset in the x direction(package private) floatgetImageOffsetY()Gets the image offset in the y directionfloatgetTextRise()Gets the text displacement relative to the baseline.(package private) intgetUnicodeEquivalent(int c)Gets the Unicode equivalent to a CID.(package private) floatgetWidthCorrected(float charSpacing, float wordSpacing)Gets the width of thePdfChunktaking into account the extra character and word spacing.private intgetWord(java.lang.String text, int start)(package private) booleanisAttribute(java.lang.String name)Checks if the attribute exists.(package private) booleanisExtSplitCharacter(int start, int current, int end, char[] cc, PdfChunk[] ck)(package private) booleanisHorizontalSeparator()Checks if thisPdfChunkis a horizontal Separator Chunk.(package private) booleanisImage()Checks if there is an image in thePdfChunk.booleanisNewlineSplit()Checks if thePdfChunksplit was caused by a newline.(package private) booleanisSeparator()Checks if thisPdfChunkis a Separator Chunk.(package private) booleanisSpecialEncoding()Tells you if this string is in Chinese, Japanese, Korean or Identity-H.(package private) booleanisStroked()Checks if thisPdfChunkneeds some special metrics handling.(package private) booleanisTab()Checks if thisPdfChunkis a tab Chunk.(package private) intlength()(package private) intlengthUtf32()(package private) static booleannoPrint(int c)(package private) voidsetValue(java.lang.String value)sets the value.(package private) PdfChunksplit(float width)Splits thisPdfChunkif it's too long for the given width.java.lang.StringtoString()private java.lang.Stringtrim(java.lang.String string)Removes all the ' ' and '-'-characters on the right of aString.floattrimFirstSpace()(package private) floattrimLastSpace()Trims the last space.(package private) PdfChunktruncate(float width)Truncates thisPdfChunkif it's too long for the given width.(package private) floatwidth()Returns the width of thisPdfChunk.
-
-
-
Field Detail
-
singleSpace
private static final char[] singleSpace
-
thisChunk
private static final PdfChunk[] thisChunk
-
ITALIC_ANGLE
private static final float ITALIC_ANGLE
- See Also:
- Constant Field Values
-
keysAttributes
private static final java.util.HashMap keysAttributes
The allowed attributes in variableattributes.
-
keysNoStroke
private static final java.util.HashMap keysNoStroke
The allowed attributes in variablenoStroke.
-
value
private java.lang.String value
The value of this object.
-
encoding
private java.lang.String encoding
The encoding.
-
font
protected PdfFont font
The font for thisPdfChunk.
-
baseFont
private BaseFont baseFont
-
splitCharacter
private SplitCharacter splitCharacter
-
attributes
private java.util.HashMap attributes
Metric attributes.This attributes require the measurement of characters widths when rendering such as underline.
-
noStroke
private java.util.HashMap noStroke
Non metric attributes.This attributes do not require the measurement of characters widths when rendering such as Color.
-
newlineSplit
private boolean newlineSplit
trueif the chunk split was cause by a newline.
-
image
private Image image
The image in thisPdfChunk, if it has one
-
offsetX
private float offsetX
The offset in the x direction for the image
-
offsetY
private 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 Detail
-
PdfChunk
PdfChunk(java.lang.String string, PdfChunk other)Constructs aPdfChunk-object.- Parameters:
string- the content of thePdfChunk-objectother- Chunk with the same style you want for the new Chunk
-
-
Method Detail
-
getUnicodeEquivalent
int getUnicodeEquivalent(int c)
Gets the Unicode equivalent to a CID. The (inexistent) CIDis translated as '\n'. It has only meaning with CJK fonts with Identity encoding. - Parameters:
c- the CID code- Returns:
- the Unicode equivalent
-
getWord
private int getWord(java.lang.String text, int start)
-
split
PdfChunk split(float width)
Splits thisPdfChunkif it's too long for the given width.Returns null if the
PdfChunkwasn't truncated.- Parameters:
width- a given width- Returns:
- the
PdfChunkthat doesn't fit into the width.
-
truncate
PdfChunk truncate(float width)
Truncates thisPdfChunkif it's too long for the given width.Returns null if the
PdfChunkwasn't truncated.- Parameters:
width- a given width- Returns:
- the
PdfChunkthat doesn't fit into the width.
-
font
PdfFont font()
Returns the font of thisChunk.- Returns:
- a
PdfFont
-
color
java.awt.Color color()
Returns the color of thisChunk.- Returns:
- a
Color
-
width
float width()
Returns the width of thisPdfChunk.- Returns:
- a width
-
isNewlineSplit
public boolean isNewlineSplit()
Checks if thePdfChunksplit was caused by a newline.- Returns:
trueif thePdfChunksplit was caused by a newline.
-
getWidthCorrected
float getWidthCorrected(float charSpacing, float wordSpacing)Gets the width of thePdfChunktaking into account the extra character and word spacing.- Parameters:
charSpacing- the extra character spacingwordSpacing- 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
float trimLastSpace()
Trims the last space.- Returns:
- the width of the space trimmed, otherwise 0
-
trimFirstSpace
public float trimFirstSpace()
-
getAttribute
java.lang.Object getAttribute(java.lang.String name)
Gets an attribute. The search is made inattributesandnoStroke.- Parameters:
name- the attribute key- Returns:
- the attribute value or null if not found
-
isAttribute
boolean isAttribute(java.lang.String name)
Checks if the attribute exists.- Parameters:
name- the attribute key- Returns:
trueif the attribute exists
-
isStroked
boolean isStroked()
Checks if thisPdfChunkneeds some special metrics handling.- Returns:
trueif thisPdfChunkneeds some special metrics handling.
-
isSeparator
boolean isSeparator()
Checks if thisPdfChunkis a Separator Chunk.- Returns:
- true if this chunk is a separator.
- Since:
- 2.1.2
-
isHorizontalSeparator
boolean isHorizontalSeparator()
Checks if thisPdfChunkis a horizontal Separator Chunk.- Returns:
- true if this chunk is a horizontal separator.
- Since:
- 2.1.2
-
isTab
boolean isTab()
Checks if thisPdfChunkis 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 thePdfChunk.- Returns:
trueif an image is present
-
getImage
Image getImage()
Gets the image in thePdfChunk.- Returns:
- the image or
null
-
getImageOffsetX
float getImageOffsetX()
Gets the image offset in the x direction- Returns:
- 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
-
setValue
void setValue(java.lang.String value)
sets the value.- Parameters:
value- content of the Chunk
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
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
-
length
int length()
-
lengthUtf32
int lengthUtf32()
-
isExtSplitCharacter
boolean isExtSplitCharacter(int start, int current, int end, char[] cc, PdfChunk[] ck)
-
trim
private java.lang.String trim(java.lang.String string)
Removes all the ' ' and '-'-characters on the right of aString.- Parameters:
string- theStringthat has to be trimmed.- Returns:
- the trimmed
String
-
getCharWidth
float getCharWidth(int c)
-
noPrint
static boolean noPrint(int c)
-
-