简体   繁体   中英

iText 7 borderless table (no border)

This code below does not work.

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

I am new to iText 7 and all I wanted is to have my table borderless. Like how to do it?

The table itself is by default not responsible for borders in iText7, the cells are. You need to set every cell to be borderless if you want a borderless table (or set the outer cells to have no border on the edge if you still want inside borders).

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

You could write a method which runs though all children of a Table and sets NO_BORDER.

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

This gives you the advantage that you can still use

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

instead of changing it on all cells manual.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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