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

时间:2015-02-25 12:33:19

标签: java itext pdf-generation tabular

在页面上我有表,并在页面的末尾我有一个段落,如果行包含小的行数段落仍然必须停留在页面的末尾,但如果行太多而表格占用多个页面段落必须在表格结束后。起初它看起来很容易,我只为PdfPCell设置了包含表格的最小高度,但后来我发现页面是否在页面上分割,最小高度适用于表格的每个部分,因为它的段落不在第二页上的表格。它有什么解决方案吗?

2 个答案:

答案 0 :(得分:1)

我找到了一个解决此问题的非常好的解决方案,我已经在表格中添加了一列,其宽度太小而且对于用户来说并不可见,在本专栏中我已经知道了添加有两行的表,第一行我设置了我需要的最小高度,这里是创建这个附加列的代码

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;
}

答案 1 :(得分:0)

如果我理解你,你不希望段落分裂吗?您可以将setKeepTogether(boolean);用于所需的元素:

paragraph.setKeepTogether(true);

table.setKeepTogether(true);