繁体   English   中英

在iText页面末尾的表格上画一条水平线?

[英]Drawing a horizontal line to the table at the end of page in iText?

我正在使用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。 谢谢。

您可以发布构造表的代码吗? 您是否每页打印一个页面,还是依靠PdfPTable的自动拆分功能?

下面的代码应该可以解决问题:

 PdfPCell pdfPCells[] = table.getRow(table.getRows().size() - 1).getCells();
 for (PdfPCell pdfPCell : pdfPCells) {
     pdfPCell.setBorder(PdfPCell.BOTTOM);
 }

如您所见,如果仅使用for-each循环,则无需担心数组中元素的数量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM