如何防止跨越页面跨越多行跨越多行的iText表PdfPCell?

时间:2011-08-01 20:38:21

标签: html itext page-break

我正在使用iText(iTextSharp 5.1.1),我正在尝试做一些表格。

第一个表列跨越多行。根据以前的内容,该列有时会分为两页。有时,第一页上只剩下一行,使列不够高,无法显示标签。

如果添加到文档中,是否有任何方法可以检测列是否跨越两个页面,因此我可以填写一些行来防止此行为。

或者在任何情况下都有办法告诉单元格不要分裂吗?

1 个答案:

答案 0 :(得分:0)

好吧,我用Java中的iText 2.1.7编写了你的​​例子:

PdfPTable table = new PdfPTable(2);
table.setSplitLate(true); // default value
PdfPCell largeCell =
        new PdfPCell(new Paragraph("Lorem ipsum dolor sit amet,\r\n"
                + "consectetur adipiscing elit. Curabitur\r\n"
                + "vel nisl quis turpis molestie blandit.\r\n"
                + "Donec a ligula sit amet quam feugiat\r\n"
                + "aliquet in id augue. Etiam placerat\r\n"
                + "massa ac ligula dictum convallis.\r\n"
                + "Mauris in leo quis lorem facilisis\r\n"
                + "tincidunt. Praesent lorem libero,\r\n"
                + "porttitor tincidunt egestas consequat,\r\n"
                + "tempor quis erat. Sed lorem ipsum,\r\n"
                + "posuere a ornare ac, viverra ut diam. In\r\n"
                + "porta ultrices tristique. Nulla non libero\r\n"
                + "a nisi pharetra consequat. Vestibulum\r\n"
                + "nunc urna, lobortis id ultricies vitae,\r\n"
                + "fermentum eu magna. Duis nibh lacus,\r\n"
                + "adipiscing at tempor eget, interdum\r\n" + "quis libero."));

PdfPCell cell = new PdfPCell(new Paragraph("Long Column"));
cell.setRowspan(5);
table.addCell(cell);
for (int i = 0; i < 5; i++)
{
    table.addCell(largeCell);
}

根据Kornelije的要求,它的效果非常好...当我使用table.setSplitLate(false)时,只会产生“错误”输出,所以默认值为true一切都很好。

相关问题