Package com.itextpdf.text.pdf
Class PdfPRow
- java.lang.Object
-
- com.itextpdf.text.pdf.PdfPRow
-
- All Implemented Interfaces:
IAccessibleElement
public class PdfPRow extends java.lang.Object implements IAccessibleElement
A row in a PdfPTable.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.HashMap<PdfName,PdfObject>
accessibleAttributes
protected boolean
adjusted
static float
BOTTOM_LIMIT
the bottom limit (bottom right y)protected boolean
calculated
private int[]
canvasesPos
protected PdfPCell[]
cells
protected float[]
extraHeights
extra heights that needs to be added to a cell because of rowspans.protected AccessibleElementId
id
private Logger
LOGGER
protected float
maxHeight
boolean
mayNotBreak
True if the table may not break after this row.static float
RIGHT_LIMIT
the right limitprotected PdfName
role
protected float[]
widths
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
calculateHeights()
Calculates the heights of each cell in the row.void
copyRowContent(PdfPTable table, int idx)
Copies the content of a specific row in a table to this row.PdfObject
getAccessibleAttribute(PdfName key)
Get the attribute of accessible element (everything inA
dictionary +Lang
,Alt
,ActualText
,E
).java.util.HashMap<PdfName,PdfObject>
getAccessibleAttributes()
Gets all the properties of accessible element.PdfPCell[]
getCells()
Returns the array of cells in the row.(package private) float[]
getEventWidth(float xPos, float[] absoluteWidths)
AccessibleElementId
getId()
float
getMaxHeights()
Gets the maximum height of the row (i.e.float
getMaxRowHeightsWithoutCalculating()
PdfName
getRole()
Gets the role of the accessible element.boolean
hasRowspan()
Checks if a cell in the row has a rowspan greater than 1.protected void
initExtraHeights()
Initializes the extra heights array.boolean
isAdjusted()
boolean
isCalculated()
Checks if the dimensions of the columns were calculated.boolean
isInline()
boolean
isMayNotBreak()
Getter for the mayNotbreak variable.private static boolean
isTagged(PdfContentByte canvas)
protected void
restoreCanvases(PdfContentByte[] canvases)
protected void
saveAndRotateCanvases(PdfContentByte[] canvases, float a, float b, float c, float d, float e, float f)
void
setAccessibleAttribute(PdfName key, PdfObject value)
Set the attribute of accessible element (everything inA
dictionary +Lang
,Alt
,ActualText
,E
).void
setAdjusted(boolean adjusted)
static float
setColumn(ColumnText ct, float left, float bottom, float right, float top)
void
setExtraHeight(int cell, float height)
Sets an extra height for a cell.void
setFinalMaxHeights(float maxHeight)
void
setId(AccessibleElementId id)
void
setMaxHeights(float maxHeight)
Changes the maximum height of the row (to make it higher).void
setMayNotBreak(boolean mayNotBreak)
Setter for the mayNotBreak variable.void
setRole(PdfName role)
Sets the role of the accessiblee element.boolean
setWidths(float[] widths)
Sets the widths of the columns in the row.PdfPRow
splitRow(PdfPTable table, int rowIndex, float new_height)
Splits a row to newHeight.void
splitRowspans(PdfPTable original, int originalIdx, PdfPTable part, int partIdx)
Split rowspan of cells with rowspan on next page by inserting copies with the remaining rowspan and reducing the previous rowspan appropriately, i.e.void
writeBorderAndBackground(float xPos, float yPos, float currentMaxHeight, PdfPCell cell, PdfContentByte[] canvases)
Writes the border and background of one cell in the row.void
writeCells(int colStart, int colEnd, float xPos, float yPos, PdfContentByte[] canvases, boolean reusable)
Writes a number of cells (not necessarily all cells).
-
-
-
Field Detail
-
LOGGER
private final Logger LOGGER
-
mayNotBreak
public boolean mayNotBreak
True if the table may not break after this row.
-
BOTTOM_LIMIT
public static final float BOTTOM_LIMIT
the bottom limit (bottom right y)- See Also:
- Constant Field Values
-
RIGHT_LIMIT
public static final float RIGHT_LIMIT
the right limit- Since:
- 2.1.5
- See Also:
- Constant Field Values
-
cells
protected PdfPCell[] cells
-
widths
protected float[] widths
-
extraHeights
protected float[] extraHeights
extra heights that needs to be added to a cell because of rowspans.- Since:
- 2.1.6
-
maxHeight
protected float maxHeight
-
calculated
protected boolean calculated
-
adjusted
protected boolean adjusted
-
canvasesPos
private int[] canvasesPos
-
role
protected PdfName role
-
id
protected AccessibleElementId id
-
-
Method Detail
-
setWidths
public boolean setWidths(float[] widths)
Sets the widths of the columns in the row.- Parameters:
widths
-- Returns:
- true if everything went right
-
initExtraHeights
protected void initExtraHeights()
Initializes the extra heights array.- Since:
- 2.1.6
-
setExtraHeight
public void setExtraHeight(int cell, float height)
Sets an extra height for a cell.- Parameters:
cell
- the index of the cell that needs an extra heightheight
- the extra height- Since:
- 2.1.6
-
calculateHeights
protected void calculateHeights()
Calculates the heights of each cell in the row.
-
setMayNotBreak
public void setMayNotBreak(boolean mayNotBreak)
Setter for the mayNotBreak variable.
-
isMayNotBreak
public boolean isMayNotBreak()
Getter for the mayNotbreak variable.
-
writeBorderAndBackground
public void writeBorderAndBackground(float xPos, float yPos, float currentMaxHeight, PdfPCell cell, PdfContentByte[] canvases)
Writes the border and background of one cell in the row.- Parameters:
xPos
- The x-coordinate where the table starts on the canvasyPos
- The y-coordinate where the table starts on the canvascurrentMaxHeight
- The height of the cell to be drawn.cell
-canvases
-- Since:
- 2.1.6 extra parameter currentMaxHeight
-
saveAndRotateCanvases
protected void saveAndRotateCanvases(PdfContentByte[] canvases, float a, float b, float c, float d, float e, float f)
- Since:
- 2.1.6 private is now protected
-
restoreCanvases
protected void restoreCanvases(PdfContentByte[] canvases)
- Since:
- 2.1.6 private is now protected
-
setColumn
public static float setColumn(ColumnText ct, float left, float bottom, float right, float top)
- Since:
- 3.0.0 protected is now public static
-
writeCells
public void writeCells(int colStart, int colEnd, float xPos, float yPos, PdfContentByte[] canvases, boolean reusable)
Writes a number of cells (not necessarily all cells).- Parameters:
colStart
- The first column to be written. Remember that the column index starts with 0.colEnd
- The last column to be written. Remember that the column index starts with 0. If -1, all the columns to the end are written.xPos
- The x-coordinate where the table starts on the canvasyPos
- The y-coordinate where the table starts on the canvasreusable
- if set to false, the content in the cells is "consumed"; if true, you can reuse the cells, the row, the parent table as many times you want.- Since:
- 5.1.0 added the reusable parameter
-
isCalculated
public boolean isCalculated()
Checks if the dimensions of the columns were calculated.- Returns:
- true if the dimensions of the columns were calculated
-
getMaxHeights
public float getMaxHeights()
Gets the maximum height of the row (i.e. of the 'highest' cell).- Returns:
- the maximum height of the row
-
setMaxHeights
public void setMaxHeights(float maxHeight)
Changes the maximum height of the row (to make it higher). (added by Jin-Hsia Yang)- Parameters:
maxHeight
- the new maximum height
-
getEventWidth
float[] getEventWidth(float xPos, float[] absoluteWidths)
-
copyRowContent
public void copyRowContent(PdfPTable table, int idx)
Copies the content of a specific row in a table to this row. Don't do this if the rows have a different number of cells.- Parameters:
table
- the table from which you want to copy a rowidx
- the index of the row that needs to be copied- Since:
- 5.1.0
-
splitRow
public PdfPRow splitRow(PdfPTable table, int rowIndex, float new_height)
Splits a row to newHeight. The returned row is the remainder. It will return null if the newHeight was so small that only an empty row would result.- Parameters:
new_height
- the new height- Returns:
- the remainder row or null if the newHeight was so small that only an empty row would result
-
getMaxRowHeightsWithoutCalculating
public float getMaxRowHeightsWithoutCalculating()
-
setFinalMaxHeights
public void setFinalMaxHeights(float maxHeight)
-
splitRowspans
public void splitRowspans(PdfPTable original, int originalIdx, PdfPTable part, int partIdx)
Split rowspan of cells with rowspan on next page by inserting copies with the remaining rowspan and reducing the previous rowspan appropriately, i.e. if a cell with rowspan 7 gets split after 3 rows of that rowspan have been laid out, its column on the next page should start with an empty cell having the same attributes and rowspan 7 - 3 = 4.- Since:
- iText 5.4.3
-
getCells
public PdfPCell[] getCells()
Returns the array of cells in the row. Please be extremely careful with this method. Use the cells as read only objects.- Returns:
- an array of cells
- Since:
- 2.1.1
-
hasRowspan
public boolean hasRowspan()
Checks if a cell in the row has a rowspan greater than 1.- Since:
- 5.1.0
-
isAdjusted
public boolean isAdjusted()
-
setAdjusted
public void setAdjusted(boolean adjusted)
-
getAccessibleAttribute
public PdfObject getAccessibleAttribute(PdfName key)
Description copied from interface:IAccessibleElement
Get the attribute of accessible element (everything inA
dictionary +Lang
,Alt
,ActualText
,E
).- Specified by:
getAccessibleAttribute
in interfaceIAccessibleElement
- Returns:
-
setAccessibleAttribute
public void setAccessibleAttribute(PdfName key, PdfObject value)
Description copied from interface:IAccessibleElement
Set the attribute of accessible element (everything inA
dictionary +Lang
,Alt
,ActualText
,E
).- Specified by:
setAccessibleAttribute
in interfaceIAccessibleElement
-
getAccessibleAttributes
public java.util.HashMap<PdfName,PdfObject> getAccessibleAttributes()
Description copied from interface:IAccessibleElement
Gets all the properties of accessible element.- Specified by:
getAccessibleAttributes
in interfaceIAccessibleElement
- Returns:
-
getRole
public PdfName getRole()
Description copied from interface:IAccessibleElement
Gets the role of the accessible element.- Specified by:
getRole
in interfaceIAccessibleElement
- Returns:
-
setRole
public void setRole(PdfName role)
Description copied from interface:IAccessibleElement
Sets the role of the accessiblee element. Set role tonull
if you don't want to tag this element. Note that all child elements won't also be tagged.- Specified by:
setRole
in interfaceIAccessibleElement
-
getId
public AccessibleElementId getId()
- Specified by:
getId
in interfaceIAccessibleElement
-
setId
public void setId(AccessibleElementId id)
- Specified by:
setId
in interfaceIAccessibleElement
-
isTagged
private static boolean isTagged(PdfContentByte canvas)
-
isInline
public boolean isInline()
- Specified by:
isInline
in interfaceIAccessibleElement
-
-