- java.lang.Object
-
- com.itextpdf.text.pdf.VerticalText
-
public class VerticalText extends java.lang.ObjectWrites 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 intalignmentThe column alignment.protected java.util.ArrayListchunksThe chunks that form the text.protected intcurrentChunkMarkerMarks the chunks to be eliminated when the line is written.protected PdfChunkcurrentStandbyChunkThe chunk created by the splitting.protected floatheightThe height of the text.protected floatleadingThe leadingprotected intmaxLinesThe maximum number of vertical lines.static intNO_MORE_COLUMNSignals that there is no more column.static intNO_MORE_TEXTSignals that there are no more text available.protected java.lang.StringsplittedChunkTextThe chunk created by the splitting.protected floatstartXThe X coordinate.protected floatstartYThe Y coordinate.protected PdfContentBytetextThePdfContentwhere the text will be written to.
-
Constructor Summary
Constructors Constructor Description VerticalText(PdfContentByte text)Creates new VerticalText
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddText(Chunk chunk)Adds aChunkto the current text array.voidaddText(Phrase phrase)Adds aPhraseto the current text array.protected PdfLinecreateLine(float width)Creates a line from the chunk array.intgetAlignment()Gets the alignment.floatgetHeight()Gets the height of the linefloatgetLeading()Gets the separation between the vertical lines.intgetMaxLines()Gets the maximum number of available lines.floatgetOriginX()Gets the X coordinate where the next line will be written.floatgetOriginY()Gets the Y coordinate where the next line will be written.intgo()Outputs the lines to the document.intgo(boolean simulate)Outputs the lines to the document.voidsetAlignment(int alignment)Sets the alignment.voidsetHeight(float height)Sets the height of the linevoidsetLeading(float leading)Sets the separation between the vertical lines.voidsetMaxLines(int maxLines)Sets the maximum number of lines.voidsetOrigin(float startX, float startY)Sets the new text origin.voidsetVerticalLayout(float startX, float startY, float height, int maxLines, float leading)Sets the layout.protected voidshortenChunkArray()Normalizes the list of chunks when the line is accepted.
-
-
-
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 chunks
The chunks that form the text.
-
text
protected PdfContentByte text
ThePdfContentwhere 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.
-
-
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 aPhraseto the current text array.- Parameters:
phrase- the text
-
addText
public void addText(Chunk chunk)
Adds aChunkto 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 positionstartY- the top right Y line positionheight- the height of the linesmaxLines- the maximum number of linesleading- 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 togo(false).- Returns:
- returns the result of the operation. It can be
NO_MORE_TEXTand/orNO_MORE_COLUMN
-
go
public int go(boolean simulate)
Outputs the lines to the document. The output can be simulated.- Parameters:
simulate-trueto simulate the writing to the document- Returns:
- returns the result of the operation. It can be
NO_MORE_TEXTand/orNO_MORE_COLUMN
-
setOrigin
public void setOrigin(float startX, float startY)Sets the new text origin.- Parameters:
startX- the X coordinatestartY- 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 togo().- 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 togo().- 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
-
-