public abstract class Table<T extends org.apache.pdfbox.pdmodel.PDPage> extends Object
| Modifier and Type | Field and Description |
|---|---|
org.apache.pdfbox.pdmodel.PDDocument |
document |
| Constructor and Description |
|---|
Table(float yStart,
float yStartNewPage,
float pageTopMargin,
float pageBottomMargin,
float width,
float margin,
org.apache.pdfbox.pdmodel.PDDocument document,
T currentPage,
boolean drawLines,
boolean drawContent,
PageProvider<T> pageProvider) |
Table(float yStartNewPage,
float pageTopMargin,
float pageBottomMargin,
float width,
float margin,
org.apache.pdfbox.pdmodel.PDDocument document,
boolean drawLines,
boolean drawContent,
PageProvider<T> pageProvider) |
Table(float yStart,
float yStartNewPage,
float pageBottomMargin,
float width,
float margin,
org.apache.pdfbox.pdmodel.PDDocument document,
T currentPage,
boolean drawLines,
boolean drawContent)
Deprecated.
Use one of the constructors that pass a
PageProvider |
Table(float yStartNewPage,
float pageBottomMargin,
float width,
float margin,
org.apache.pdfbox.pdmodel.PDDocument document,
boolean drawLines,
boolean drawContent)
Deprecated.
Use one of the constructors that pass a
PageProvider |
| Modifier and Type | Method and Description |
|---|---|
void |
addHeaderRow(Row<T> row)
Setting current row as table header row
|
boolean |
allBordersRemoved() |
protected T |
createPage()
Deprecated.
Use a
PageProvider instead |
Row<T> |
createRow(float height) |
Row<T> |
createRow(List<Cell<T>> cells,
float height) |
float |
draw()
Draws table
|
void |
drawTitle(String title,
org.apache.pdfbox.pdmodel.font.PDFont font,
int fontSize,
float tableWidth,
float height,
String alignment,
float freeSpaceForPageBreak,
boolean drawHeaderMargin) |
void |
drawTitle(String title,
org.apache.pdfbox.pdmodel.font.PDFont font,
int fontSize,
float tableWidth,
float height,
String alignment,
float freeSpaceForPageBreak,
WrappingFunction wrappingFunction,
boolean drawHeaderMargin) |
List<org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem> |
getBookmarks() |
T |
getCurrentPage() |
protected org.apache.pdfbox.pdmodel.PDDocument |
getDocument() |
Row<T> |
getHeader()
Retrieves last table's header row
|
float |
getHeaderAndDataHeight()
Calculate height of all table cells (essentially, table height).
|
float |
getLineSpacing() |
float |
getMargin() |
float |
getMinimumHeight()
Calculates minimum table height that needs to be drawn (all header rows +
first data row heights).
|
List<Row<T>> |
getRows() |
float |
getWidth() |
boolean |
isDrawDebug() |
protected org.apache.pdfbox.pdmodel.font.PDType0Font |
loadFont(String fontPath) |
protected abstract void |
loadFonts() |
void |
removeAllBorders(boolean removeAllBorders) |
void |
setDrawDebug(boolean drawDebug) |
void |
setHeader(Row<T> header)
Deprecated.
Use
addHeaderRow(Row) instead, as it supports
multiple header rows |
void |
setLineSpacing(float lineSpacing) |
void |
setTableIsBroken(boolean tableIsBroken) |
protected void |
setYStart(float yStart) |
boolean |
tableIsBroken() |
boolean |
tableStartedAtNewPage() |
@Deprecated public Table(float yStart, float yStartNewPage, float pageBottomMargin, float width, float margin, org.apache.pdfbox.pdmodel.PDDocument document, T currentPage, boolean drawLines, boolean drawContent) throws IOException
PageProvideryStart - Y position where Table will startyStartNewPage - Y position where possible new page of Table will startpageBottomMargin - bottom margin of Tablewidth - Table widthmargin - Table margindocument - PDDocument where Table will be drawncurrentPage - current page where Table will be drawn (some tables
are big and can be through multiple pages)drawLines - draw Table's bordersdrawContent - draw Table's contentIOException - if fonts are not loaded correctly@Deprecated public Table(float yStartNewPage, float pageBottomMargin, float width, float margin, org.apache.pdfbox.pdmodel.PDDocument document, boolean drawLines, boolean drawContent) throws IOException
PageProvideryStartNewPage - Y position where possible new page of Table will startpageBottomMargin - bottom margin of Tablewidth - Table widthmargin - Table margindocument - PDDocument where Table will be drawndrawLines - draw Table's bordersdrawContent - draw Table's contentIOException - if fonts are not loaded correctlypublic Table(float yStart,
float yStartNewPage,
float pageTopMargin,
float pageBottomMargin,
float width,
float margin,
org.apache.pdfbox.pdmodel.PDDocument document,
T currentPage,
boolean drawLines,
boolean drawContent,
PageProvider<T> pageProvider)
throws IOException
IOExceptionpublic Table(float yStartNewPage,
float pageTopMargin,
float pageBottomMargin,
float width,
float margin,
org.apache.pdfbox.pdmodel.PDDocument document,
boolean drawLines,
boolean drawContent,
PageProvider<T> pageProvider)
throws IOException
IOExceptionprotected abstract void loadFonts()
throws IOException
IOExceptionprotected org.apache.pdfbox.pdmodel.font.PDType0Font loadFont(String fontPath) throws IOException
IOExceptionprotected org.apache.pdfbox.pdmodel.PDDocument getDocument()
public void drawTitle(String title, org.apache.pdfbox.pdmodel.font.PDFont font, int fontSize, float tableWidth, float height, String alignment, float freeSpaceForPageBreak, boolean drawHeaderMargin) throws IOException
IOExceptionpublic void drawTitle(String title, org.apache.pdfbox.pdmodel.font.PDFont font, int fontSize, float tableWidth, float height, String alignment, float freeSpaceForPageBreak, WrappingFunction wrappingFunction, boolean drawHeaderMargin) throws IOException
IOExceptionpublic float getWidth()
public float draw()
throws IOException
Draws table
IOException - if underlying stream has problem being written to.@Deprecated protected T createPage()
PageProvider insteadPDPagepublic T getCurrentPage()
public List<org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem> getBookmarks()
@Deprecated public void setHeader(Row<T> header)
addHeaderRow(Row) instead, as it supports
multiple header rowsheader - row that will be set as table's header rowpublic float getHeaderAndDataHeight()
Calculate height of all table cells (essentially, table height).
IMPORTANT: Doesn't acknowledge possible page break. Use with caution.
Table's heightpublic float getMinimumHeight()
Calculates minimum table height that needs to be drawn (all header rows + first data row heights).
public void addHeaderRow(Row<T> row)
Setting current row as table header row
row - The row that would be added as table's header rowpublic float getMargin()
protected void setYStart(float yStart)
public boolean isDrawDebug()
public void setDrawDebug(boolean drawDebug)
public boolean tableIsBroken()
public void setTableIsBroken(boolean tableIsBroken)
public boolean tableStartedAtNewPage()
public float getLineSpacing()
public void setLineSpacing(float lineSpacing)
public boolean allBordersRemoved()
public void removeAllBorders(boolean removeAllBorders)
Copyright © 2020. All rights reserved.