我遇到了Itext的问题,在两页之间切了一行。我的代码是这样的:
PdfPTable Master = new PdfPTable(1);
Master.setHeaderRows(1);
PdfPTable Header = new PdfPTable(1);//create header table
//fill header
PdfPCell HeaderCell = new PdfPCell();
HeaderCell.addElement(Header);
Master.addCell(HeaderCell);//add header in master
foreach result in query
{
float[] colsWidth = { 4f, 9f, 5f, 8f };
PdfPTable Content = new PdfPTable(colsWidth);//create content table
//fill content
content.keepRowsTogether(0);
PdfPCell ContentCell = new PdfPCell();
ContentCell.addElement(Content);
Master.addCell(ContentCell);//add header in master
}
document.add(Master);
但是在PDF文档中,一些内容表在两个页面之间分开(因此,一些主表行)。 我尝试添加:
Master.keepRowsTogether(0);
Master.setSplitLate(false);
没有效果。
我也尝试过:
Master.setSplitRows(false);
但是这使得切割的行完全消失了。 有人知道如何在Master表中禁用行拆分吗?
答案 0 :(得分:0)
在要拆分的单元格中也启用换行
ContentCell .setNoWrap(false);
所以
foreach result in query
{
float[] colsWidth = { 4f, 9f, 5f, 8f };
PdfPTable Content = new PdfPTable(colsWidth);//create content table
//fill content
content.keepRowsTogether(0);
PdfPCell ContentCell = new PdfPCell();
ContentCell .setNoWrap(false);
ContentCell.addElement(Content);
Master.addCell(ContentCell);//add header in master
}
并且不要忘记Master.setSplitLate(false);
答案 1 :(得分:0)
This works for itextsharp 5
TableName.SplitLate = False