Удаление границы из таблицы в iText7 - PullRequest
0 голосов
/ 02 мая 2019

Я хочу удалить всю границу таблицы в 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) не имеет никакого эффекта.

1 Ответ

0 голосов
/ 02 мая 2019

По умолчанию ячейки имеют границы в iText7 (0.5px сплошной черный).Поэтому, если вы хотите добавить ячейку без рамки, вы должны указать ее, установив NO_BORDER в качестве границы ячейки.

С другой стороны, таблицы по умолчанию не имеют границ, поэтому table.setBorder(Border.NO_BORDER) не имеет никакого эффектана результирующем PDF.

Так что я боюсь, но вы должны использовать подход cell.setBorder(Border.NO_BORDER);.

Что касается добавления строки в ячейку: да, нужно добавить абзац сейчас,Метод параметризации строки был удален, потому что было не совсем понятно, как эта строка должна быть заключена в ячейку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...