public interface TextUnit extends Bounded
Line
.
Note that space characters are typically not encoded in PDF documents; rather, they are implicit in the spacing between the bounding boxes of adjacent TextUnits.
Modifier and Type | Interface and Description |
---|---|
static interface |
TextUnit.Predicate
Type to be satisfied when implementing a
TextUnit predicate for filtering characters in a Page . |
Modifier and Type | Method and Description |
---|---|
char[] |
getCharacterSequence()
Returns the characters that should be rendered
for this TextUnit instead of the 'raw' character code provided by
TextUnit.getCharCode() . |
int |
getCharCode()
Returns the 'raw' character code used to encode this TextUnit in the source
PDF document.
|
Font |
getFont()
Returns the
Font that was in force when this TextUnit was outputted. |
float |
getFontSize()
Returns the size of the
font used to render this TextUnit . |
float |
getTheta()
Returns the angle (in degrees) by which this
TextUnit 's baseline is rotated. |
boolean |
isStruckThrough()
Returns true if this
TextUnit is struck through ( |
boolean |
isUnderlined()
Returns true if this
TextUnit is underlined (like this). |
int getCharCode()
In many cases, this character code is equivalent to the
Unicode character id. Otherwise, the font and encoding information
in force when the character code was read from the PDF document dictates
that a particular character sequence
be rendered instead of the Unicode character corresponding to the
character code returned by this function.
char[] getCharacterSequence()
TextUnit.getCharCode()
.
This function may return null, in which case the Unicode character corresponding with the 'raw' character code should be used when rendering this TextUnit.
float getFontSize()
font
used to render this TextUnit
.boolean isUnderlined()
TextUnit
is underlined (like this). While this will report an appropriate
value for text that is rotated by a "regular" angle (90º, -90º, 180º), it will
always return false for text that is rotated by any other angle (i.e. 30º, -45º, 16º, etc).boolean isStruckThrough()
TextUnit
is struck through (float getTheta()
TextUnit
's baseline is rotated.