4

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

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

如果添加到文档中,有什么方法可以检测一列是否会跨越两页,所以我可以填写一些行来防止这种行为。

或者有没有办法告诉细胞在任何情况下都不要分裂?

4

1 回答 1

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

于 2013-06-13T13:05:05.090 回答