Class VerticalText

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

public class VerticalText extends 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 Details

    • NO_MORE_TEXT

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

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

      protected 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 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.
  • Constructor Details

    • VerticalText

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

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

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

      public void setLeading(float leading)
      Sets the separation between the vertical lines.
      Parameters:
      leading - 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
    • writeLine

      void writeLine(PdfLine line, PdfContentByte text, PdfContentByte graphics)
    • 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
    • getAlignment

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

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