Class PdfLine


  • public class PdfLine
    extends java.lang.Object
    PdfLine defines an array with PdfChunk-objects that fit into 1 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 new PdfLine-object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) PdfChunk add​(PdfChunk chunk)
      Adds a PdfChunk to the PdfLine.
      (package private) PdfChunk add​(PdfChunk chunk, float currentLeading)
      Adds a PdfChunk to the PdfLine.
      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 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​(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 of PdfChunks.
      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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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
      • 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 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<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,
                     float currentLeading)
        Adds a PdfChunk to the PdfLine.
        Parameters:
        chunk - the PdfChunk to add
        currentLeading - new value for the height of the line
        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
      • 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<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 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; 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 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​(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()