我想在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字符串不能再添加到单元格,只能添加IBlockElement
或Image
。
这是一种解决方法:
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)
无效。
答案 0 :(得分:0)
默认情况下,单元格在iText7中带有边框(0.5像素纯黑色)。因此,如果要添加无边框的单元格,则应通过将NO_BORDER设置为单元格边框来指定它。
另一方面,表格默认情况下没有边框,这就是table.setBorder(Border.NO_BORDER)
对结果pdf无效的原因。
因此,我很害怕,但是您应该使用cell.setBorder(Border.NO_BORDER);
方法。
关于将字符串添加到单元格:是的,现在应该添加一个段落。删除了字符串参数化方法,因为目前尚不清楚该字符串应如何包装在单元格中