Держите ряд вместе, но при необходимости прерывайте

Я работаю над проектом, используя XSL-FO для создания PDF-файлов.

Есть несколько таблиц со сравнением рейтингов. Некоторые столбцы имеют короткий текст, а некоторые — очень длинный.

Без атрибута keep-together.within-page или с keep-together.within-page='auto' таблицы выглядят очень некрасиво, потому что столбцы разрывают текст в конце страницы - несмотря ни на что.

Поэтому я решил использовать keep-together.within-page='always', чтобы добиться лучшего вида. Если строка не помещается на странице, fop перемещает строку на новую страницу. красивая.

Теперь проблема.

В некоторых случаях некоторые тексты очень длинные, а содержание превышает одну страницу. В этом случае я хочу, чтобы строка разбивалась на 2 страницы.

Я искал что-то вроде keep-together.within-page='always if possible'

можно ли как-то этого добиться?


person Killerbear    schedule 24.01.2018    source источник
comment
Какой текст в одной ячейке таблицы будет таким, чтобы он был больше, чем целая страница? Разве внутри него нет блоков (читай абзацев)? Почему бы не поставить запоры на них, если да, а не на весь ряд? Мне кажется полным безумием предлагать вам одну длинную ячейку таблицы, которая длиннее одной страницы и не имеет разрывов внутри нее. Если вы это сделаете, никто не будет читать.   -  person Kevin Brown    schedule 25.01.2018
comment
это таблица, заполненная текстом разной длины. Каждая строка представляет собой категорию. поэтому я хочу сохранить строку на одной странице, если это возможно. Но иногда в одном маленьком столбце очень много текста, из-за чего строка длиннее целой страницы. в этом случае я хотел бы разбить строку. Я мог бы оставить каждый абзац на странице, но в этом случае каждую строку можно было бы разделить на две страницы. Но я хочу, чтобы каждая строка оставалась на странице, если это возможно.   -  person Killerbear    schedule 19.03.2018


Ответы (1)


Вы ищете:

keep-together.within-page='<number(1-9)>'

Если вы введете «всегда», fop попытается уместить его любым необходимым способом на одной странице. Если вы указываете число, это больше похоже на «Я попробую, что смогу, но если текст будет слишком длинным, он все равно сломается». Число, которое вы заполняете, больше похоже на приоритет, если у вас много вложенных совместных мероприятий. Это означает, что значение 1 также будет выполнять свою работу.

person Christian Mosz    schedule 24.01.2018
comment
я думал, что это число будет иметь приоритет, какой элемент будет держаться вместе, если два или более элемента хотят держаться вместе, выигрывает большее число. Но в моем случае это не проблема, потому что у меня есть только один объект, который не помещается полностью на одной странице. - person Killerbear; 24.01.2018
comment
Я думаю, вам также нужно выяснить, какие средства форматирования поддерживают числовое взвешивание сохранений. Я понятия не имею, делает ли FOP. - person Kevin Brown; 25.01.2018