Class PdfCell
java.lang.Object
com.aowagie.text.Rectangle
com.aowagie.text.pdf.PdfCell
- All Implemented Interfaces:
Element
A
PdfCell is the PDF translation of a Cell.
A PdfCell is an ArrayList of PdfLines.
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 final floatThis is the cellpadding of the cell.private final floatThis is the cellspacing of the cell.private floatThis is the total height of the content of the cell.private PdfLineprivate intThis is the number of the group the cell is in.private booleanIndicates if this cell belongs to the header of aPdfTableprivate final ArrayListThese are the Images in the Cell.private PdfLineprivate final floatThis is the leading of the lines.private PdfLineThese are the PdfLines in the Cell.private ArrayListThese are the PdfLines in the Cell.private final intThis is the number of the row the cell is in.private final intThis is the rowspan of the cell.private booleanIndicates that the largest ascender height should be used to determine the height of the first line.private booleanAdjusts the cell contents to compensate for border widths.private booleanIndicates 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 final intFields inherited from class Rectangle
border, borderWidth, BOTTOM, BOX, LEFT, llx, lly, NO_BORDER, RIGHT, rotation, TOP, UNDEFINED, urx, uryFields inherited from interface 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, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate floatAdds an image to this Cell.private voidprivate voidprivate floatGets the cellpadding of a cell..private floatGets the cellspacing of a cell.private floatCalculates what the height of the first line should be so that the content will be flush with the top.private voidprivate floatgetBorderWidthInside(int side) Gets the amount of the border for the specified side that is inside the Rectangle.floatReturns the lower left y-coordinate.intGets 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.floatgetLeft()Returns the lower left x-coordinate.getLines(float top, float bottom) Gets the lines of a cell that can be drawn between certain limits.floatgetRight()Returns the upper right x-coordinate.floatgetTop()Returns the upper right y-coordinate.(package private) booleanisHeader()Checks if this cell belongs to the header of aPdfTable.booleanGets the value of useAscenderbooleanGets the value of useBorderPadding.booleangets the value of useDescender(package private) booleanChecks if the cell may be removed.private voidprocessActions(Element element, PdfAction action, ArrayList allActions) Processes all actions contained in the cell.rectangle(float top, float bottom) Gets a Rectangle that is altered to fit on the page.floatReturns the height needed to draw the remaining text.private floatReturns the total height of all the lines in the cell.private PdfLineremoveLine(int index) (package private) intGets the number of the row this cell is in..introwspan()Gets the rowspan of a cell.voidsetBottom(float value) Sets the bottom of the Rectangle and determines the proper {link #verticalOffset} to appropriately align the contents vertically.(package private) voidsetGroupNumber(int number) Sets the group number.(package private) voidIndicates that this cell belongs to the header of aPdfTable.voidsetUseAscender(boolean use) Sets the value of useAscender.voidsetUseBorderPadding(boolean use) Sets the value of useBorderPadding.voidsetUseDescender(boolean use) Sets the value of useDescender.Methods inherited from class Rectangle
cloneNonPositionParameters, disableBorderSide, enableBorderSide, getBackgroundColor, getBorder, getBorderColor, getBorderColorBottom, getBorderColorLeft, getBorderColorRight, getBorderColorTop, getBorderWidth, getBorderWidthBottom, getBorderWidthLeft, getBorderWidthRight, getBorderWidthTop, getBottom, getChunks, getGrayFill, getHeight, getLeft, 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, setRight, 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 final float leadingThis is the leading of the lines. -
rownumber
private final int rownumberThis is the number of the row the cell is in. -
rowspan
private final int rowspanThis is the rowspan of the cell. -
cellspacing
private final float cellspacingThis is the cellspacing of the cell. -
cellpadding
private final 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 final 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 originalCellrownumber- the number of theRowtheCellwas in.left- the left border of thePdfCellright- the right border of thePdfCelltop- the top border of thePdfCellcellspacing- the cellspacing of theTablecellpadding- the cellpadding of theTable
-
-
Method Details
-
addList
-
setBottom
-
getLeft
-
getRight
-
getTop
-
getBottom
-
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 ifuseBorderPaddingis 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
ArrayListofPdfLines
-
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
ArrayListofImages
-
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:
trueif all the lines are already drawn;falseotherwise.
-
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
-
rownumber
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
private float cellspacing()Gets the cellspacing of a cell.- Returns:
- a value
-
cellpadding
private float cellpadding()Gets the cellpadding of a cell..- Returns:
- a value
-
processActions
-
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
-
setUseAscender
public void setUseAscender(boolean use) Sets the value of useAscender.- Parameters:
use- use ascender height if true
-
isUseAscender
public boolean isUseAscender()Gets the value of useAscender- Returns:
- useAscender
-
setUseDescender
public void setUseDescender(boolean use) Sets the value of useDescender.- Parameters:
use- use descender height if true
-
isUseDescender
public boolean isUseDescender()gets the value of useDescender- Returns:
- useDescender
-
setUseBorderPadding
public void setUseBorderPadding(boolean use) Sets the value of useBorderPadding.- Parameters:
use- adjust layout for borders if true
-
isUseBorderPadding
public boolean isUseBorderPadding()Gets the value of useBorderPadding.- Returns:
- useBorderPadding
-