Как проверить, поместится ли таблица на текущей странице или разделится на две страницы в itext7 - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь создать таблицу в документе PDF с itext7.Но если содержимое перед таблицей слишком большое, таблица разделяется между текущей страницей и следующей страницей.Я хочу вставить -

document.Add(new AreaBreak())

, если на текущей странице недостаточно места для полной вставки таблицы.Тем не менее, я не знаю, как рассчитать доступное пространство.

Любая помощь или указатели будут высоко оценены.

1 Ответ

0 голосов
/ 07 июня 2018

Исходя из вашего требования избегать разрыва страницы внутри таблицы, я предполагаю, что Table#setKeepTogether(boolean) - это именно то, что вам нужно.

Это свойство гарантирует, что, если это возможно, элементы с этим свойством перемещаются в следующую область, если они разделены между областями.

Это не совсем то, что вы просили, однако кажется,это то, что вы хотите достичь.Проверка этого варианта использования вручную может быть сложной.Вам нужно было бы взглянуть на механизм рендеринга и внутреннюю обработку макета iText, чтобы получить оставшееся свободное пространство и пространство, необходимое для таблицы.Вы также должны позаботиться о случаях, например, если таблица слишком большая, чтобы поместиться на одной странице.Также #setKeepTogether(boolean) работает, когда элементы вложены друг в друга.

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