Package com.itextpdf.text.pdf
Class VerticalText
- java.lang.Object
-
- com.itextpdf.text.pdf.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 leadingprotected 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
ThePdfContent
where 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 void
addText(Chunk chunk)
Adds aChunk
to the current text array.void
addText(Phrase phrase)
Adds aPhrase
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 linefloat
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 linevoid
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)
-
-
-
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
ThePdfContent
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 aPhrase
to the current text array.- Parameters:
phrase
- the text
-
addText
public void addText(Chunk chunk)
Adds aChunk
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 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_TEXT
and/orNO_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/orNO_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 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
-
-