首页 文章

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

提问于
浏览
4

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

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

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

或者在任何情况下都有办法告诉单元格 not to split

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) 时,只会生成"wrong"输出,所以默认值为 true 一切都很好 .

相关问题