com.lowagie.text.pdf

## Class PdfLine

- java.lang.Object
- - com.lowagie.text.pdf.PdfLine

    public class PdfLine
    extends java.lang.Object

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

### Field Summary

Fields
`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` `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

Constructors
Constructor and Description
`PdfLine(float left, float originalWidth, float remainingWidth, int alignment, boolean newlineSplit, java.util.ArrayList line, boolean isRTL)` Creates a PdfLine object.
`PdfLine(float left, float right, int alignment, float height)` Constructs a new `PdfLine`-object.

### Method Summary

Methods
`(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()`
`java.util.Iterator` `iterator()` Returns an iterator of `PdfChunk`s.
`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.
`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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### line

    protected java.util.ArrayList 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,
           java.util.ArrayList 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 java.util.Iterator iterator()

Returns an iterator of `PdfChunk`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

#### toString

    public java.lang.String toString()

Get the string representation of what is in this line.

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

#### 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 ascenders used in this line