Package com.itextpdf.text.pdf
Class PdfLine
- java.lang.Object
-
- com.itextpdf.text.pdf.PdfLine
-
public class PdfLine extends java.lang.Object
PdfLine
defines an array withPdfChunk
-objects that fit into 1 line.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
alignment
The alignment of the line.protected float
height
The height of the line.protected boolean
isRTL
protected float
left
The left indentation of the line.protected java.util.ArrayList<PdfChunk>
line
The arraylist containing the chunks.protected ListItem
listItem
protected boolean
newlineSplit
true
if the chunk splitting was caused by a newline.protected float
originalWidth
The original width.protected float
tabPosition
protected TabStop
tabStop
protected float
tabStopAnchorPosition
protected float
width
The width of the line.
-
Constructor Summary
Constructors Constructor Description PdfLine(float left, float originalWidth, float remainingWidth, int alignment, boolean newlineSplit, java.util.ArrayList<PdfChunk> line, boolean isRTL)
Creates a PdfLine object.PdfLine(float left, float right, int alignment, float height)
Constructs a newPdfLine
-object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) PdfChunk
add(PdfChunk chunk)
Adds aPdfChunk
to thePdfLine
.(package private) PdfChunk
add(PdfChunk chunk, float currentLeading)
Adds aPdfChunk
to thePdfLine
.private void
addToLine(PdfChunk chunk)
void
flush()
float
getAscender()
Gets the maximum size of the ascender for all the fonts used in this line.PdfChunk
getChunk(int idx)
Gets aPdfChunk
by index.float
getDescender()
Gets the biggest descender for all the fonts used in this line.int
getLastStrokeChunk()
Gets the index of the lastPdfChunk
with metric attributesint
getLineLengthUtf32()
Returns the length of a line in UTF32 characters(package private) float[]
getMaxSize(float fixedLeading, float multipliedLeading)
Gets the difference between the "normal" leading and the maximum size (for instance when there are images in the chunk and the leading has to be taken into account).float
getOriginalWidth()
Gets the original width of the line.(package private) int
getSeparatorCount()
Gets the number of separators in the line.float
getWidthCorrected(float charSpacing, float wordSpacing)
Gets a width corrected with a charSpacing and wordSpacing.boolean
hasToBeJustified()
Checks if this line has to be justified.(package private) float
height()
Returns the height of the line.(package private) float
indentLeft()
Returns the left indentation of the line taking the alignment of the line into account.boolean
isNewlineSplit()
Checks if a newline caused the line split.(package private) boolean
isRTL()
java.util.Iterator<PdfChunk>
iterator()
Returns an iterator ofPdfChunk
s.float
listIndent()
Return the indentation needed to show the listsymbol.ListItem
listItem()
Chunk
listSymbol()
Returns the listsymbol of this line.(package private) int
numberOfSpaces()
Returns the number of space-characters in this line.void
resetAlignment()
Resets the alignment of this line.(package private) void
setExtraIndent(float extra)
Adds extra indentation to the left (for Paragraph.setFirstLineIndent).void
setListItem(ListItem listItem)
Sets the listsymbol of this line.int
size()
Returns the number of chunks in the line.java.lang.String
toString()
Get the string representation of what is in this line.(package private) float
widthLeft()
Returns the width that is left, after a maximum of characters is added to the line.
-
-
-
Field Detail
-
line
protected java.util.ArrayList<PdfChunk> line
The arraylist containing the chunks.
-
left
protected float left
The left indentation of the line.
-
width
protected float width
The width of the line.
-
alignment
protected int alignment
The alignment of the line.
-
height
protected float height
The height of the line.
-
newlineSplit
protected boolean newlineSplit
true
if the chunk splitting was caused by a newline.
-
originalWidth
protected float originalWidth
The original width.
-
isRTL
protected boolean isRTL
-
listItem
protected ListItem listItem
-
tabStop
protected TabStop tabStop
-
tabStopAnchorPosition
protected float tabStopAnchorPosition
-
tabPosition
protected float tabPosition
-
-
Constructor Detail
-
PdfLine
PdfLine(float left, float right, int alignment, float height)
Constructs a newPdfLine
-object.- Parameters:
left
- the limit of the line at the leftright
- the limit of the line at the rightalignment
- the alignment of the lineheight
- the height of the line
-
PdfLine
PdfLine(float left, float originalWidth, float remainingWidth, int alignment, boolean newlineSplit, java.util.ArrayList<PdfChunk> line, boolean isRTL)
Creates a PdfLine object.- Parameters:
left
- the left offsetoriginalWidth
- the original width of the lineremainingWidth
- bigger than 0 if the line isn't completely filledalignment
- the alignment of the linenewlineSplit
- was the line splitted (or does the paragraph end with this line)line
- an array of PdfChunk objectsisRTL
- do you have to read the line from Right to Left?
-
-
Method Detail
-
add
PdfChunk add(PdfChunk chunk, float currentLeading)
Adds aPdfChunk
to thePdfLine
.- Parameters:
chunk
- thePdfChunk
to addcurrentLeading
- new value for the height of the line- Returns:
null
if the chunk could be added completely; if not aPdfChunk
containing the part of the chunk that could not be added is returned
-
add
PdfChunk add(PdfChunk chunk)
Adds aPdfChunk
to thePdfLine
.- Parameters:
chunk
- thePdfChunk
to add- Returns:
null
if the chunk could be added completely; if not aPdfChunk
containing the part of the chunk that could not be added is returned
-
addToLine
private void addToLine(PdfChunk chunk)
-
size
public int size()
Returns the number of chunks in the line.- Returns:
- a value
-
iterator
public java.util.Iterator<PdfChunk> iterator()
Returns an iterator ofPdfChunk
s.- Returns:
- an
Iterator
-
height
float height()
Returns the height of the line.- Returns:
- a value
-
indentLeft
float indentLeft()
Returns the left indentation of the line taking the alignment of the line into account.- Returns:
- a value
-
hasToBeJustified
public boolean hasToBeJustified()
Checks if this line has to be justified.- Returns:
true
if the alignment equals ALIGN_JUSTIFIED and there is some width left.
-
resetAlignment
public void resetAlignment()
Resets the alignment of this line.The alignment of the last line of for instance a
Paragraph
that has to be justified, has to be reset to ALIGN_LEFT.
-
setExtraIndent
void setExtraIndent(float extra)
Adds extra indentation to the left (for Paragraph.setFirstLineIndent).
-
widthLeft
float widthLeft()
Returns the width that is left, after a maximum of characters is added to the line.- Returns:
- a value
-
numberOfSpaces
int numberOfSpaces()
Returns the number of space-characters in this line.- Returns:
- a value
-
setListItem
public void setListItem(ListItem listItem)
Sets the listsymbol of this line.This is only necessary for the first line of a
ListItem
.- Parameters:
listItem
- the list symbol
-
listSymbol
public Chunk listSymbol()
Returns the listsymbol of this line.- Returns:
- a
PdfChunk
if the line has a listsymbol;null
otherwise
-
listIndent
public float listIndent()
Return the indentation needed to show the listsymbol.- Returns:
- a value
-
listItem
public ListItem listItem()
-
toString
public java.lang.String toString()
Get the string representation of what is in this line.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a
String
-
getLineLengthUtf32
public int getLineLengthUtf32()
Returns the length of a line in UTF32 characters- Returns:
- the length in UTF32 characters
- Since:
- 2.1.2; Get changed into get in 5.0.2
-
isNewlineSplit
public boolean isNewlineSplit()
Checks if a newline caused the line split.- Returns:
true
if a newline caused the line split
-
getLastStrokeChunk
public int getLastStrokeChunk()
Gets the index of the lastPdfChunk
with metric attributes- Returns:
- the last
PdfChunk
with metric attributes
-
getChunk
public PdfChunk getChunk(int idx)
Gets aPdfChunk
by index.- Parameters:
idx
- the index- Returns:
- the
PdfChunk
or null if beyond the array
-
getOriginalWidth
public float getOriginalWidth()
Gets the original width of the line.- Returns:
- the original width of the line
-
getMaxSize
float[] getMaxSize(float fixedLeading, float multipliedLeading)
Gets the difference between the "normal" leading and the maximum size (for instance when there are images in the chunk and the leading has to be taken into account).- Returns:
- an extra leading for images
- Since:
- 2.1.5
-
isRTL
boolean isRTL()
-
getSeparatorCount
int getSeparatorCount()
Gets the number of separators in the line. Returns -1 if there's a tab in the line.- Returns:
- the number of separators in the line
- Since:
- 2.1.2
-
getWidthCorrected
public float getWidthCorrected(float charSpacing, float wordSpacing)
Gets a width corrected with a charSpacing and wordSpacing.- Parameters:
charSpacing
-wordSpacing
-- Returns:
- a corrected width
-
getAscender
public float getAscender()
Gets the maximum size of the ascender for all the fonts used in this line.- Returns:
- maximum size of all the ascenders used in this line
-
getDescender
public float getDescender()
Gets the biggest descender for all the fonts used in this line. Note that this is a negative number.- Returns:
- maximum size of all the descenders used in this line
-
flush
public void flush()
-
-