Package com.lowagie.text.pdf
Class PdfCell
java.lang.Object
com.lowagie.text.Rectangle
com.lowagie.text.pdf.PdfCell
- All Implemented Interfaces:
Element
A
PdfCell
is the PDF translation of a Cell
.
A PdfCell
is an ArrayList
of PdfLine
s.
When using variable borders (isUseVariableBorders()
== true),
the borders are drawn completely inside the cell Rectangle so that adjacent cell borders will not overlap. Otherwise,
the borders are drawn on top of the edges of the cell Rectangle and will overlap the borders of adjacent cells.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate float
This is the cellpadding of the cell.private float
This is the cellspacing of the cell.private float
This is the total height of the content of the cell.private PdfLine
private int
This is the number of the group the cell is in.private boolean
Indicates if this cell belongs to the header of aPdfTable
These are the Images in the Cell.private PdfLine
private float
This is the leading of the lines.private PdfLine
These are the PdfLines in the Cell.These are the PdfLines in the Cell.private int
This is the number of the row the cell is in.private int
This is the rowspan of the cell.private boolean
Indicates that the largest ascender height should be used to determine the height of the first line.private boolean
Adjusts the cell contents to compensate for border widths.private boolean
Indicates that the largest descender height should be added to the height of the last line (so characters like y don't dip into the border).private int
Fields inherited from class com.lowagie.text.Rectangle
backgroundColor, border, borderColor, borderColorBottom, borderColorLeft, borderColorRight, borderColorTop, borderWidth, borderWidthBottom, borderWidthLeft, borderWidthRight, borderWidthTop, BOTTOM, BOX, LEFT, llx, lly, NO_BORDER, offsetToTop, RIGHT, rotation, TOP, UNDEFINED, urx, ury, useVariableBorders
Fields inherited from interface com.lowagie.text.Element
ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, FOOTNOTE, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MODIFICATIONDATE, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate float
Adds an image to this Cell.private void
private void
float
Gets the cellpadding of a cell..float
Gets the cellspacing of a cell.private float
Calculates what the height of the first line should be so that the content will be flush with the top.private void
private float
getBorderWidthInside
(int side) Gets the amount of the border for the specified side that is inside the Rectangle.float
Returns the lower left y-coordinate.int
Gets the number of the group this cell is in..getImages
(float top, float bottom) Gets the images of a cell that can be drawn between certain limits.float
getLeft()
Returns the lower left x-coordinate.getLines
(float top, float bottom) Gets the lines of a cell that can be drawn between certain limits.float
getRight()
Returns the upper right x-coordinate.float
getTop()
Returns the upper right y-coordinate.(package private) boolean
isHeader()
Checks if this cell belongs to the header of aPdfTable
.boolean
Gets the value of useAscenderboolean
Gets the value of useBorderPadding.boolean
gets the value of useDescenderfloat
leading()
Gets the leading of a cell.(package private) boolean
Checks if the cell may be removed.protected void
processActions
(Element element, PdfAction action, List<PdfAction> allActions) Processes all actions contained in the cell.rectangle
(float top, float bottom) Gets a Rectangle that is altered to fit on the page.float
Returns the height needed to draw the remaining text.private float
Returns the total height of all the lines in the cell.private PdfLine
removeLine
(int index) int
Gets the number of the row this cell is in..int
rowspan()
Gets the rowspan of a cell.void
setBottom
(float value) Sets the bottom of the Rectangle and determines the proper {link #verticalOffset} to appropriately align the contents vertically.(package private) void
setGroupNumber
(int number) Sets the group number.(package private) void
Indicates that this cell belongs to the header of aPdfTable
.void
setUseAscender
(boolean use) Sets the value of useAscender.void
setUseBorderPadding
(boolean use) Sets the value of useBorderPadding.void
setUseDescender
(boolean use) Sets the value of useDescender.int
size()
Returns the number of lines in the cell.Methods inherited from class com.lowagie.text.Rectangle
cloneNonPositionParameters, disableBorderSide, enableBorderSide, getBackgroundColor, getBorder, getBorderColor, getBorderColorBottom, getBorderColorLeft, getBorderColorRight, getBorderColorTop, getBorderWidth, getBorderWidthBottom, getBorderWidthLeft, getBorderWidthRight, getBorderWidthTop, getBottom, getChunks, getGrayFill, getHeight, getLeft, getRelativeTop, getRight, getRotation, getTop, getWidth, hasBorder, hasBorders, isContent, isNestable, isUseVariableBorders, normalize, process, rotate, setBackgroundColor, setBorder, setBorderColor, setBorderColorBottom, setBorderColorLeft, setBorderColorRight, setBorderColorTop, setBorderWidth, setBorderWidthBottom, setBorderWidthLeft, setBorderWidthRight, setBorderWidthTop, setGrayFill, setLeft, setRelativeTop, setRight, setRotation, setTop, setUseVariableBorders, softCloneNonPositionParameters, toString, type
-
Field Details
-
lines
These are the PdfLines in the Cell. -
line
These are the PdfLines in the Cell. -
images
These are the Images in the Cell. -
leading
private float leadingThis is the leading of the lines. -
rownumber
private int rownumberThis is the number of the row the cell is in. -
rowspan
private int rowspanThis is the rowspan of the cell. -
cellspacing
private float cellspacingThis is the cellspacing of the cell. -
cellpadding
private float cellpaddingThis is the cellpadding of the cell. -
header
private boolean headerIndicates if this cell belongs to the header of aPdfTable
-
contentHeight
private float contentHeightThis is the total height of the content of the cell. Note that the actual cell height may be larger due to another cell on the row * -
useAscender
private boolean useAscenderIndicates that the largest ascender height should be used to determine the height of the first line. Setting this to true can help with vertical alignment problems. -
useDescender
private boolean useDescenderIndicates that the largest descender height should be added to the height of the last line (so characters like y don't dip into the border). -
useBorderPadding
private boolean useBorderPaddingAdjusts the cell contents to compensate for border widths. -
verticalAlignment
private int verticalAlignment -
firstLine
-
lastLine
-
groupNumber
private int groupNumberThis is the number of the group the cell is in.
-
-
Constructor Details
-
PdfCell
public PdfCell(Cell cell, int rownumber, float left, float right, float top, float cellspacing, float cellpadding) Constructs aPdfCell
-object.- Parameters:
cell
- the originalCell
rownumber
- the number of theRow
theCell
was in.left
- the left border of thePdfCell
right
- the right border of thePdfCell
top
- the top border of thePdfCell
cellspacing
- the cellspacing of theTable
cellpadding
- the cellpadding of theTable
-
-
Method Details
-
addList
-
getLeft
public float getLeft()Returns the lower left x-coordinate. -
getRight
public float getRight()Returns the upper right x-coordinate. -
getTop
public float getTop()Returns the upper right y-coordinate. -
getBottom
public float getBottom()Returns the lower left y-coordinate. -
setBottom
public void setBottom(float value) Sets the bottom of the Rectangle and determines the proper {link #verticalOffset} to appropriately align the contents vertically. -
addLine
-
removeLine
-
flushCurrentLine
private void flushCurrentLine() -
firstLineRealHeight
private float firstLineRealHeight()Calculates what the height of the first line should be so that the content will be flush with the top. For text, this is the height of the ascender. For an image, it is the actual height of the image.- Returns:
- the real height of the first line
-
getBorderWidthInside
private float getBorderWidthInside(int side) Gets the amount of the border for the specified side that is inside the Rectangle. For non-variable width borders this is only 1/2 the border width on that side. This always returns 0 ifuseBorderPadding
is false;- Parameters:
side
- the side to check. One of the side constants inRectangle
- Returns:
- the borderwidth inside the cell
-
addImage
Adds an image to this Cell.- Parameters:
i
- the image to addleft
- the left borderright
- the right borderextraHeight
- extra height to add above imagealignment
- horizontal alignment (constant from Element class)- Returns:
- the height of the image
-
getLines
Gets the lines of a cell that can be drawn between certain limits.Remark: all the lines that can be drawn are removed from the object!
- Parameters:
top
- the top of the part of the table that can be drawnbottom
- the bottom of the part of the table that can be drawn- Returns:
- an
ArrayList
ofPdfLine
s
-
getImages
Gets the images of a cell that can be drawn between certain limits.Remark: all the lines that can be drawn are removed from the object!
- Parameters:
top
- the top of the part of the table that can be drawnbottom
- the bottom of the part of the table that can be drawn- Returns:
- an
ArrayList
ofImage
s
-
isHeader
boolean isHeader()Checks if this cell belongs to the header of aPdfTable
.- Returns:
void
-
setHeader
void setHeader()Indicates that this cell belongs to the header of aPdfTable
. -
mayBeRemoved
boolean mayBeRemoved()Checks if the cell may be removed.Headers may always be removed, even if they are drawn only partially: they will be repeated on each following page anyway!
- Returns:
true
if all the lines are already drawn;false
otherwise.
-
size
public int size()Returns the number of lines in the cell.- Returns:
- a value
-
remainingLinesHeight
private float remainingLinesHeight()Returns the total height of all the lines in the cell.- Returns:
- a value
-
remainingHeight
public float remainingHeight()Returns the height needed to draw the remaining text.- Returns:
- a height
-
leading
public float leading()Gets the leading of a cell.- Returns:
- the leading of the lines is the cell.
-
rownumber
public int rownumber()Gets the number of the row this cell is in..- Returns:
- a number
-
rowspan
public int rowspan()Gets the rowspan of a cell.- Returns:
- the rowspan of the cell
-
cellspacing
public float cellspacing()Gets the cellspacing of a cell.- Returns:
- a value
-
cellpadding
public float cellpadding()Gets the cellpadding of a cell..- Returns:
- a value
-
processActions
Processes all actions contained in the cell.- Parameters:
element
- an element in the cellaction
- an action that should be coupled to the cellallActions
- a list of PdfAction to execute
-
getGroupNumber
public int getGroupNumber()Gets the number of the group this cell is in..- Returns:
- a number
-
setGroupNumber
void setGroupNumber(int number) Sets the group number.- Parameters:
number
-
-
rectangle
Gets a Rectangle that is altered to fit on the page. -
isUseAscender
public boolean isUseAscender()Gets the value of useAscender- Returns:
- useAscender
-
setUseAscender
public void setUseAscender(boolean use) Sets the value of useAscender.- Parameters:
use
- use ascender height if true
-
isUseDescender
public boolean isUseDescender()gets the value of useDescender- Returns:
- useDescender
-
setUseDescender
public void setUseDescender(boolean use) Sets the value of useDescender.- Parameters:
use
- use descender height if true
-
isUseBorderPadding
public boolean isUseBorderPadding()Gets the value of useBorderPadding.- Returns:
- useBorderPadding
-
setUseBorderPadding
public void setUseBorderPadding(boolean use) Sets the value of useBorderPadding.- Parameters:
use
- adjust layout for borders if true
-