Class VerticalText


  • public class VerticalText
    extends java.lang.Object
    Writes text vertically. Note that the naming is done according to horizontal text although it refers to vertical text. A line with the alignment Element.LEFT_ALIGN will actually be top aligned.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int alignment
      The column alignment.
      protected java.util.ArrayList<PdfChunk> chunks
      The chunks that form the text.
      private java.lang.Float curCharSpace  
      protected int currentChunkMarker
      Marks the chunks to be eliminated when the line is written.
      protected PdfChunk currentStandbyChunk
      The chunk created by the splitting.
      protected float height
      The height of the text.
      protected float leading
      The leading
      protected int maxLines
      The maximum number of vertical lines.
      static int NO_MORE_COLUMN
      Signals that there is no more column.
      static int NO_MORE_TEXT
      Signals that there are no more text available.
      protected java.lang.String splittedChunkText
      The chunk created by the splitting.
      protected float startX
      The X coordinate.
      protected float startY
      The Y coordinate.
      protected PdfContentByte text
      The PdfContent where the text will be written to.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addText​(Chunk chunk)
      Adds a Chunk to the current text array.
      void addText​(Phrase phrase)
      Adds a Phrase to the current text array.
      protected PdfLine createLine​(float width)
      Creates a line from the chunk array.
      int getAlignment()
      Gets the alignment.
      float getHeight()
      Gets the height of the line
      float getLeading()
      Gets the separation between the vertical lines.
      int getMaxLines()
      Gets the maximum number of available lines.
      float getOriginX()
      Gets the X coordinate where the next line will be written.
      float getOriginY()
      Gets the Y coordinate where the next line will be written.
      int go()
      Outputs the lines to the document.
      int go​(boolean simulate)
      Outputs the lines to the document.
      void setAlignment​(int alignment)
      Sets the alignment.
      void setHeight​(float height)
      Sets the height of the line
      void setLeading​(float leading)
      Sets the separation between the vertical lines.
      void setMaxLines​(int maxLines)
      Sets the maximum number of lines.
      void setOrigin​(float startX, float startY)
      Sets the new text origin.
      void setVerticalLayout​(float startX, float startY, float height, int maxLines, float leading)
      Sets the layout.
      protected void shortenChunkArray()
      Normalizes the list of chunks when the line is accepted.
      (package private) void writeLine​(PdfLine line, PdfContentByte text, PdfContentByte graphics)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NO_MORE_TEXT

        public static final int NO_MORE_TEXT
        Signals that there are no more text available.
        See Also:
        Constant Field Values
      • NO_MORE_COLUMN

        public static final int NO_MORE_COLUMN
        Signals that there is no more column.
        See Also:
        Constant Field Values
      • chunks

        protected java.util.ArrayList<PdfChunk> chunks
        The chunks that form the text.
      • text

        protected PdfContentByte text
        The PdfContent where the text will be written to.
      • alignment

        protected int alignment
        The column alignment. Default is left alignment.
      • currentChunkMarker

        protected int currentChunkMarker
        Marks the chunks to be eliminated when the line is written.
      • currentStandbyChunk

        protected PdfChunk currentStandbyChunk
        The chunk created by the splitting.
      • splittedChunkText

        protected java.lang.String splittedChunkText
        The chunk created by the splitting.
      • leading

        protected float leading
        The leading
      • startX

        protected float startX
        The X coordinate.
      • startY

        protected float startY
        The Y coordinate.
      • maxLines

        protected int maxLines
        The maximum number of vertical lines.
      • height

        protected float height
        The height of the text.
      • curCharSpace

        private java.lang.Float curCharSpace
    • Constructor Detail

      • VerticalText

        public VerticalText​(PdfContentByte text)
        Creates new VerticalText
        Parameters:
        text - the place where the text will be written to. Can be a template.
    • Method Detail

      • addText

        public void addText​(Phrase phrase)
        Adds a Phrase to the current text array.
        Parameters:
        phrase - the text
      • addText

        public void addText​(Chunk chunk)
        Adds a Chunk to the current text array.
        Parameters:
        chunk - the text
      • setVerticalLayout

        public void setVerticalLayout​(float startX,
                                      float startY,
                                      float height,
                                      int maxLines,
                                      float leading)
        Sets the layout.
        Parameters:
        startX - the top right X line position
        startY - the top right Y line position
        height - the height of the lines
        maxLines - the maximum number of lines
        leading - the separation between the lines
      • setLeading

        public void setLeading​(float leading)
        Sets the separation between the vertical lines.
        Parameters:
        leading - the vertical line separation
      • getLeading

        public float getLeading()
        Gets the separation between the vertical lines.
        Returns:
        the vertical line separation
      • createLine

        protected PdfLine createLine​(float width)
        Creates a line from the chunk array.
        Parameters:
        width - the width of the line
        Returns:
        the line or null if no more chunks
      • shortenChunkArray

        protected void shortenChunkArray()
        Normalizes the list of chunks when the line is accepted.
      • go

        public int go()
        Outputs the lines to the document. It is equivalent to go(false).
        Returns:
        returns the result of the operation. It can be NO_MORE_TEXT and/or NO_MORE_COLUMN
      • go

        public int go​(boolean simulate)
        Outputs the lines to the document. The output can be simulated.
        Parameters:
        simulate - true to simulate the writing to the document
        Returns:
        returns the result of the operation. It can be NO_MORE_TEXT and/or NO_MORE_COLUMN
      • setOrigin

        public void setOrigin​(float startX,
                              float startY)
        Sets the new text origin.
        Parameters:
        startX - the X coordinate
        startY - the Y coordinate
      • getOriginX

        public float getOriginX()
        Gets the X coordinate where the next line will be written. This value will change after each call to go().
        Returns:
        the X coordinate
      • getOriginY

        public float getOriginY()
        Gets the Y coordinate where the next line will be written.
        Returns:
        the Y coordinate
      • getMaxLines

        public int getMaxLines()
        Gets the maximum number of available lines. This value will change after each call to go().
        Returns:
        Value of property maxLines.
      • setMaxLines

        public void setMaxLines​(int maxLines)
        Sets the maximum number of lines.
        Parameters:
        maxLines - the maximum number of lines
      • getHeight

        public float getHeight()
        Gets the height of the line
        Returns:
        the height
      • setHeight

        public void setHeight​(float height)
        Sets the height of the line
        Parameters:
        height - the new height
      • setAlignment

        public void setAlignment​(int alignment)
        Sets the alignment.
        Parameters:
        alignment - the alignment
      • getAlignment

        public int getAlignment()
        Gets the alignment.
        Returns:
        the alignment