如何设置拆分 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;
}
在页面上我有 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;
}