使用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
),则某些不适合的内容将被删除以显示在视图中。
如何获取该内容并将其显示给相邻的单元格?
答案 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
)。
如果有人知道做同样事情的更好方法,那么欢迎你!