我正在使用iText创建一个表。每个表有2列,除了表的最左侧,最右侧,最顶部和最下侧之外没有边框。我能够实现这一点,但新页面开始时会出现问题。我希望在页面末尾绘制一条水平线到另一条水平线。我尝试过使用
@Override
public void onEndPage(PdfWriter arg0, Document arg1) {
PdfPCell pdfpcells[] = pdfptable.getRow(pdfptable.getRows().size()-1).getCells();
pdfpcells[0].setBorderWidthBottom(0.5f);
if(pdfpcells[1] != null){ //There is a possibility that there are odd number of elements
pdfpcells[1].setBorderWidthBottom(0.5f);
}
}
用于在页面末尾绘制水平线,假设每次页面结束时调用此函数,因此使用当前行数。 pdfptable被声明为类变量。这似乎不起作用。我正在使用最新版的iText。 感谢。
答案 0 :(得分:0)
你可以发布构建表的代码吗?你是每页制作一个还是依赖于PdfPTable的自动分割?
下面的代码可以解决问题:
PdfPCell pdfPCells[] = table.getRow(table.getRows().size() - 1).getCells();
for (PdfPCell pdfPCell : pdfPCells) {
pdfPCell.setBorder(PdfPCell.BOTTOM);
}
正如您所看到的,如果您只使用for-each循环,则无需担心数组中的元素数量。