首页 文章

在iText的页面末尾绘制一条水平线?

提问于
浏览
0

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

1 回答

  • 0

    你可以发布构建表的代码吗?你是每页制作一个还是依靠PdfPTable的自动分割?

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

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

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

相关问题