【问题标题】:How set miminum height for split PdfPCell如何设置拆分 PdfPCell 的最小高度
【发布时间】:2015-04-27 10:53:57
【问题描述】:

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

【问题讨论】:

    标签: java itext pdf-generation tabular


    【解决方案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;
    }
    

    【讨论】:

      【解决方案2】:

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

      paragraph.setKeepTogether(true);
      

      table.setKeepTogether(true);
      

      【讨论】:

      • 段落无关紧要,我希望最小高度不适用于拆分 PdfPCell 的第二部分。
      • 我找到了一个不太好的解决这个问题的方法,所以不要理会它。
      • 即使不是很礼貌,也将其发布为帮助他人的答案;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      相关资源
      最近更新 更多