Package be.quodlibet.boxable
Class Table<T extends org.apache.pdfbox.pdmodel.PDPage>
java.lang.Object
be.quodlibet.boxable.Table<T>
- Direct Known Subclasses:
AbstractTemplatedTable,BaseTable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTable(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.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 aPageProvider -
Method Summary
Modifier and TypeMethodDescriptionvoidaddHeaderRow(Row<T> row) Setting current row as table header rowbooleanprotected TDeprecated.Use aPageProviderinsteadcreateRow(float height) floatdraw()Draws tablevoiddrawTitle(String title, org.apache.pdfbox.pdmodel.font.PDFont font, int fontSize, float tableWidth, float height, String alignment, float freeSpaceForPageBreak, boolean drawHeaderMargin) voiddrawTitle(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>protected org.apache.pdfbox.pdmodel.PDDocumentRetrieves last table's header rowfloatCalculate height of all table cells (essentially, table height).floatfloatfloatCalculates minimum table height that needs to be drawn (all header rows + first data row heights).getRows()floatgetWidth()booleanprotected org.apache.pdfbox.pdmodel.font.PDType0Fontprotected abstract voidvoidremoveAllBorders(boolean removeAllBorders) voidsetDrawDebug(boolean drawDebug) voidDeprecated.UseaddHeaderRow(Row)instead, as it supports multiple header rowsvoidsetLineSpacing(float lineSpacing) voidsetTableIsBroken(boolean tableIsBroken) protected voidsetYStart(float yStart) booleanboolean
-
Field Details
-
document
public final org.apache.pdfbox.pdmodel.PDDocument document
-
-
Constructor Details
-
Table
@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 Deprecated.Use one of the constructors that pass aPageProvider- Parameters:
yStart- Y position whereTablewill startyStartNewPage- Y position where possible new page ofTablewill startpageBottomMargin- bottom margin ofTablewidth-Tablewidthmargin-Tablemargindocument-PDDocumentwhereTablewill be drawncurrentPage- current page whereTablewill be drawn (some tables are big and can be through multiple pages)drawLines- drawTable's bordersdrawContent- drawTable's content- Throws:
IOException- if fonts are not loaded correctly
-
Table
@Deprecated public Table(float yStartNewPage, float pageBottomMargin, float width, float margin, org.apache.pdfbox.pdmodel.PDDocument document, boolean drawLines, boolean drawContent) throws IOException Deprecated.Use one of the constructors that pass aPageProvider- Parameters:
yStartNewPage- Y position where possible new page ofTablewill startpageBottomMargin- bottom margin ofTablewidth-Tablewidthmargin-Tablemargindocument-PDDocumentwhereTablewill be drawndrawLines- drawTable's bordersdrawContent- drawTable's content- Throws:
IOException- if fonts are not loaded correctly
-
Table
public 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 - Throws:
IOException
-
Table
public 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 - Throws:
IOException
-
-
Method Details
-
loadFonts
- Throws:
IOException
-
loadFont
- Throws:
IOException
-
getDocument
protected org.apache.pdfbox.pdmodel.PDDocument getDocument() -
drawTitle
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 - Throws:
IOException
-
drawTitle
public 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 - Throws:
IOException
-
getWidth
public float getWidth() -
createRow
-
createRow
-
draw
Draws table
- Returns:
- Y position of the table
- Throws:
IOException- if underlying stream has problem being written to.
-
createPage
Deprecated.Use aPageProviderinstead- Returns:
- new
PDPage
-
getCurrentPage
-
getBookmarks
public List<org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem> getBookmarks() -
setHeader
Deprecated.UseaddHeaderRow(Row)instead, as it supports multiple header rows/**- Parameters:
header- row that will be set as table's header row
-
getHeaderAndDataHeight
public float getHeaderAndDataHeight()Calculate height of all table cells (essentially, table height).
IMPORTANT: Doesn't acknowledge possible page break. Use with caution.
- Returns:
Table's height
-
getMinimumHeight
public float getMinimumHeight()Calculates minimum table height that needs to be drawn (all header rows + first data row heights).
- Returns:
- height
-
addHeaderRow
Setting current row as table header row
- Parameters:
row- The row that would be added as table's header row
-
getHeader
Retrieves last table's header row
- Returns:
- header row
-
getMargin
public float getMargin() -
setYStart
protected void setYStart(float yStart) -
isDrawDebug
public boolean isDrawDebug() -
setDrawDebug
public void setDrawDebug(boolean drawDebug) -
tableIsBroken
public boolean tableIsBroken() -
setTableIsBroken
public void setTableIsBroken(boolean tableIsBroken) -
getRows
-
tableStartedAtNewPage
public boolean tableStartedAtNewPage() -
getLineSpacing
public float getLineSpacing() -
setLineSpacing
public void setLineSpacing(float lineSpacing) -
allBordersRemoved
public boolean allBordersRemoved() -
removeAllBorders
public void removeAllBorders(boolean removeAllBorders)
-
PageProvider