我已经根据https://github.com/dhorions/boxable/wiki中的示例创建了BaseTable
float margin = 50;
float yStartNewPage = myPage.getMediaBox().getHeight() - (2 * margin);
float tableWidth = myPage.getMediaBox().getWidth() - (2 * margin);
boolean drawContent = true;
float yStart = yStartNewPage;
float bottomMargin = 70;
float yPosition = 550;
BaseTable table = new BaseTable(yPosition, yStartNewPage, bottomMargin, tableWidth, margin, mainDocument, myPage, true, drawContent);
Row<PDPage> headerRow = table.createRow(15f);
Cell<PDPage> cell = headerRow.createCell(100, "Header");
table.addHeaderRow(headerRow);
Row<PDPage> row = table.createRow(12);
cell = row.createCell(30, "Data 1");
cell = row.createCell(70, "Some value");
table.draw();
contentStream.close();
mainDocument.addPage(myPage);
mainDocument.save("testfile.pdf");
mainDocument.close();
桌子看起来不错
但是当我想要改变像元高度时
cell.setHeight(5f);
内容未在单元格中绘制
我尝试更改行高,更改字体大小,但没有帮助。
你知道怎么解决吗?
最佳答案
经过一些调试后,我注意到像这样可以更改像元高度:
cell.setHeight(cell.getTextHeight() + 0.5f);
选择
cell.getTextHeight()
然后添加您的值很重要,如果您仅输入12f之类的数字将无法使用