如何将内容添加到不符合单元格高度的单元格?

时间:2013-12-13 08:02:24

标签: java android pdf-generation itext cell

使用iText并使用表格单元格。

我在表格中有25 cells (columns)

每列的内容旋转 90度,并且需要适合每个单元格的高度。

在某些情况下,当内容的长度超过单元格的高度时,并非所有内容都可见(Only the part of content is visible that is fitted to the height of the cell, the rest is dropped)。我希望得到那些丢弃的内容,并希望在下一个相邻的单元格中显示它。

使用以下代码 -

PdfPCell cell;

    for(int i = 0;i< 25;i++)
    {

        if(locs.get(i) == null)
        {
            cell = new PdfPCell();
            cell.setBorder(0);
            table.addCell(cell);
        }
        else
        {
            Font font = new Font(FontFamily.HELVETICA, 9, Font.BOLD, BaseColor.BLACK);  
            cell = new PdfPCell(new Phrase(locs.get(i), font));
            cell.setRotation(90);
            cell.setBorder(0);
            cell.setFixedHeight(110f);
            //cell.setMinimumHeight(10f);
            table.addCell(cell);
        }
    }

因此,如果locs.get(i)的值大于单元格的高度(cell height is fixed to 110f in the above code),则某些不适合的内容将被删除以显示在视图中。

如何获取该内容并将其显示给相邻的单元格?

1 个答案:

答案 0 :(得分:0)

解决了目的的方法如下:

PdfPCell cell;

for(int i = 0;i< 25;i++)
{

    if(locs.get(i) != null)
    {
        Font font = new Font(FontFamily.HELVETICA, 9, Font.BOLD, BaseColor.BLACK);


        cell = new PdfPCell(new Phrase(locs.get(i), font));
        cell.setRotation(90);
        cell.setBorder(0);                                              
        cell.setFixedHeight(110f);
        cell.setColspan(2);               
        table.addCell(cell);
   }
    else
    {
        cell = new PdfPCell();
        cell.setBorder(0);
        table.addCell(cell);
    }
}

因此,将 colspan设置为2 可确保如果内容超出第一列的长度,则将剩余内容移动到单元格的下一列(One cell having two columns now after adding the colspan of 2)。

如果有人知道做同样事情的更好方法,那么欢迎你!