如何设置拆分 PdfPCell 的最小高度

How set miminum height for split PdfPCell

在页面上我有 table,在页面末尾有一个段落,如果行包含的行数很少,该段仍必须留在页面末尾,但如果行太多而table占一页以上的段落必须紧跟在table结束之后。起初它对我来说看起来很容易,我只是为包含 table 的 PdfPCell 设置最小高度,但后来我发现页面是否在页面上拆分最小高度适用于 table 的每个部分,并且因为它段落不在第二页的 table 下。有什么解决办法吗?

如果我没理解错的话,你不想要段落拆分?您可以使用 setKeepTogether(boolean); 作为您需要的元素:

paragraph.setKeepTogether(true);

table.setKeepTogether(true);

我找到了一个不太好的解决这个问题的方法,我在 table 中添加了一列,它的宽度太小,用户看不到,在这一列中我已经添加 table 两行,第一行我设置了我需要的最小高度,这里是创建这个附加列的代码

private PdfPCell createMinHeight(float minH) {
    PdfPCell cell = new PdfPCell();
    PdfPTable table = new PdfPTable(1);
    cell.setBorder(Rectangle.NO_BORDER);
    table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
    table.setHeaderRows(0);
    PdfPCell firstRow = new PdfPCell();
    firstRow.setBorder(Rectangle.NO_BORDER);
    firstRow.setMinimumHeight(minH);
    firstRow.setPadding(0);
    table.addCell(firstRow);
    table.addCell("");
    cell.setPadding(0);
    cell.addElement(table);
    return cell;
}