iText 7 无边框 table(无边框)

iText 7 borderless table (no border)

下面的代码不起作用。

Table table = new Table(2); 
table.setBorder(Border.NO_BORDER);

我是 iText 7 的新手,我只想让我的 table 无边框。 喜欢怎么做呢?

默认情况下,table 本身不负责 iText7 中的边框,单元格负责。如果您想要无边框,则需要将每个单元格设置为无边框 table(或者如果您仍然想要内部边框,则将外部单元格设置为边缘没有边框)。

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

您可以编写一个方法来运行 Table 的所有子项并设置 NO_BORDER.

private static void RemoveBorder(Table table)
{
    for (IElement iElement : table.getChildren()) {
        ((Cell)iElement).setBorder(Border.NO_BORDER);
    }
}

这为您提供了仍然可以使用的优势

table.add("whatever");
table.add("whatever");
RemoveBorder(table);

而不是在所有单元格手动更改它。