Itext:拆分行问题

时间:2015-07-28 10:40:23

标签: java itext

我遇到了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表中禁用行拆分吗?

2 个答案:

答案 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