我正在使用 iText (iTextSharp 5.1.1),我正在尝试做一些表格。
第一个表列跨越多行。根据以前的内容,该列有时会分成两页。有时,第一页上只保留一行,使列不够高,无法显示标签。
如果添加到文档中,有什么方法可以检测一列是否会跨越两页,所以我可以填写一些行来防止这种行为。
或者有没有办法告诉细胞在任何情况下都不要分裂?
我正在使用 iText (iTextSharp 5.1.1),我正在尝试做一些表格。
第一个表列跨越多行。根据以前的内容,该列有时会分成两页。有时,第一页上只保留一行,使列不够高,无法显示标签。
如果添加到文档中,有什么方法可以检测一列是否会跨越两页,所以我可以填写一些行来防止这种行为。
或者有没有办法告诉细胞在任何情况下都不要分裂?
好吧,我用 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