从iText7中的表格中删除边框

时间:2019-05-02 11:50:54

标签: java pdf itext itext7

我想在iText 7中删除表格的整个边框。

7.0.8之前,您可以向单元格中添加字符串,这是可能的(source):

Cell cell = new Cell();
cell.add("contents go here");
cell.setBorder(Border.NO_BORDER);
table.addCell(cell);

但是根据7.1.6字符串不能再添加到单元格,只能添加IBlockElementImage

这是一种解决方法:

Cell cell;

cell = new Cell().add(new Paragraph("some text"));
cell.setBorder(Border.NO_BORDER);
table.addCell(cell);

cell = new Cell().add(new Paragraph("more text"));
cell.setBorder(Border.NO_BORDER);
table.addCell(cell);

// repeat x times

但是,如果单元格很多,显然不是首选方法。


那我现在如何删除表格的边框?

仅执行table.setBorder(Border.NO_BORDER)无效。

1 个答案:

答案 0 :(得分:0)

默认情况下,单元格在iText7中带有边框(0.5像素纯黑色)。因此,如果要添加无边框的单元格,则应通过将NO_BORDER设置为单元格边框来指定它。

另一方面,表格默认情况下没有边框,这就是table.setBorder(Border.NO_BORDER)对结果pdf无效的原因。

因此,我很害怕,但是您应该使用cell.setBorder(Border.NO_BORDER);方法。

关于将字符串添加到单元格:是的,现在应该添加一个段落。删除了字符串参数化方法,因为目前尚不清楚该字符串应如何包装在单元格中