com.itextpdf.text.pdf
Class PdfLine

java.lang.Object
  extended by com.itextpdf.text.pdf.PdfLine

public class PdfLine
extends Object

PdfLine defines an array with PdfChunk-objects that fit into 1 line.


Field Summary
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  ArrayList<PdfChunk> line
          The arraylist containing the chunks.
protected  Chunk listSymbol
          The listsymbol (if necessary).
protected  boolean newlineSplit
          true if the chunk splitting was caused by a newline.
protected  float originalWidth
          The original width.
protected  float symbolIndent
          The listsymbol (if necessary).
protected  float width
          The width of the line.
 
Constructor Summary
PdfLine(float left, float originalWidth, float remainingWidth, int alignment, boolean newlineSplit, ArrayList<PdfChunk> line, boolean isRTL)
          Creates a PdfLine object.
PdfLine(float left, float right, int alignment, float height)
          Constructs a new PdfLine-object.
 
Method Summary
(package private)  PdfChunk add(PdfChunk chunk)
          Adds a PdfChunk to the PdfLine.
private  void addToLine(PdfChunk chunk)
           
 float getAscender()
          Gets the maximum size of the ascender for all the fonts used in this line.
 PdfChunk getChunk(int idx)
          Gets a PdfChunk by index.
 float getDescender()
          Gets the biggest descender for all the fonts used in this line.
 int getLastStrokeChunk()
          Gets the index of the last PdfChunk with metric attributes
 int GetLineLengthUtf32()
          Returns the length of a line in UTF32 characters
(package private)  float[] getMaxSize()
          Gets the difference between the "normal" leading and the maximum size (for instance when there are images in the chunk).
 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()
           
 Iterator<PdfChunk> iterator()
          Returns an iterator of PdfChunks.
 float listIndent()
          Return the indentation needed to show the listsymbol.
 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.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

line

protected 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.


listSymbol

protected Chunk listSymbol
The listsymbol (if necessary).


symbolIndent

protected float symbolIndent
The listsymbol (if necessary).


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
Constructor Detail

PdfLine

PdfLine(float left,
        float right,
        int alignment,
        float height)
Constructs a new PdfLine-object.

Parameters:
left - the limit of the line at the left
right - the limit of the line at the right
alignment - the alignment of the line
height - the height of the line

PdfLine

PdfLine(float left,
        float originalWidth,
        float remainingWidth,
        int alignment,
        boolean newlineSplit,
        ArrayList<PdfChunk> line,
        boolean isRTL)
Creates a PdfLine object.

Parameters:
left - the left offset
originalWidth - the original width of the line
remainingWidth - bigger than 0 if the line isn't completely filled
alignment - the alignment of the line
newlineSplit - was the line splitted (or does the paragraph end with this line)
line - an array of PdfChunk objects
isRTL - do you have to read the line from Right to Left?
Method Detail

add

PdfChunk add(PdfChunk chunk)
Adds a PdfChunk to the PdfLine.

Parameters:
chunk - the PdfChunk to add
Returns:
null if the chunk could be added completely; if not a PdfChunk 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 Iterator<PdfChunk> iterator()
Returns an iterator of PdfChunks.

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

toString

public String toString()
Get the string representation of what is in this line.

Overrides:
toString in class 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

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 last PdfChunk with metric attributes

Returns:
the last PdfChunk with metric attributes

getChunk

public PdfChunk getChunk(int idx)
Gets a PdfChunk 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()
Gets the difference between the "normal" leading and the maximum size (for instance when there are images in the chunk).

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:
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

Hosted by Hostbasket