我已经根据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之类的数字将无法使用

09-10 06:51
查看更多