Class PdfLine

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

public class PdfLine extends Object
PdfLine defines an array with PdfChunk-objects that fit into 1 line.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
    The alignment of the line.
    protected float
    The height of the line.
    protected boolean
     
    protected float
    The left indentation of the line.
    protected ArrayList<PdfChunk>
    The arraylist containing the chunks.
    protected Chunk
    The listsymbol (if necessary).
    protected boolean
    true if the chunk splitting was caused by a newline.
    protected float
    The original width.
    protected float
    The listsymbol (if necessary).
    protected float
    The width of the line.
  • Constructor Summary

    Constructors
    Constructor
    Description
    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

    Modifier and Type
    Method
    Description
    (package private) PdfChunk
    add(PdfChunk chunk)
    Adds a PdfChunk to the PdfLine.
    private void
     
    float
    Gets the maximum size of the ascender for all the fonts used in this line.
    getChunk(int idx)
    Gets a PdfChunk by index.
    float
    Gets the biggest descender for all the fonts used in this line.
    int
    Gets the index of the last PdfChunk with metric attributes
    int
    Returns the length of a line in UTF32 characters
    (package private) float[]
    Gets the difference between the "normal" leading and the maximum size (for instance when there are images in the chunk).
    float
    Gets the original width of the line.
    (package private) int
    Gets the number of separators in the line.
    float
    getWidthCorrected(float charSpacing, float wordSpacing)
    Gets a width corrected with a charSpacing and wordSpacing.
    boolean
    Checks if this line has to be justified.
    (package private) float
    Returns the height of the line.
    (package private) float
    Returns the left indentation of the line taking the alignment of the line into account.
    boolean
    Checks if a newline caused the line split.
    (package private) boolean
     
    Returns an iterator of PdfChunks.
    float
    Return the indentation needed to show the listsymbol.
    Returns the listsymbol of this line.
    (package private) int
    Returns the number of space-characters in this line.
    void
    Resets the alignment of this line.
    (package private) void
    setExtraIndent(float extra)
    Adds extra indentation to the left (for Paragraph.setFirstLineIndent).
    void
    Sets the listsymbol of this line.
    int
    Returns the number of chunks in the line.
    Get the string representation of what is in this line.
    (package private) float
    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 Details

    • 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 Details

    • 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 Details

    • 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 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 - the spacing between characters
      wordSpacing - the spacing between words
      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