Class PdfCell
java.lang.Object
org.openpdf.text.Rectangle
org.openpdf.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 floatThis is the cellpadding of the cell.private 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 aPdfTableThese are the Images in the Cell.private PdfLineprivate floatThis is the leading of the lines.private PdfLineThese are the PdfLines in the Cell.These are the PdfLines in the Cell.private intThis is the number of the row the cell is in.private 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 intFields inherited from class 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, useVariableBordersFields 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, 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 floatAdds an image to this Cell.private voidprivate voidfloatGets the cellpadding of a cell..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 useDescenderfloatleading()Gets the leading of a cell.(package private) booleanChecks if the cell may be removed.protected voidprocessActions(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.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) 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.intsize()Returns the number of lines in the cell.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, 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
-
line
These are the PdfLines in the Cell. -
images
-
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 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
-
getLeft
-
getRight
-
getTop
-
getBottom
-
setBottom
-
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.
-
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
-
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
-
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
-