Обнаружил это в журнале изменений, увидев ответ @ memyself.

ерирую некоторые PDF-файлы, используя reportlab. У меня есть определенный раздел, который повторяется. Он содержит заголовок и таблицу:

            Story.append(Paragraph(header_string, styleH))
            Story.append(table) 

Как я могу сгруппировать абзац с таблицей (в латексе я бы поместил их в одну и ту же среду), чтобы в случае торможения страницы абзац и таблица оставались вместе? В настоящее время абзац иногда плавает в конце одной страницы, и таблица начинается в верхней части следующей страницы.

Ответы на вопрос(2)

Вы можете попробовать собрать их вместе вKeepTogether текучий, вот так:

Story.append(KeepTogether([Paragraph(header_string, styleH), table])

Однако имейте в виду, что, в последний раз, когда я проверял, реализация не была идеальной и по-прежнему разделяла элементы слишком часто. Я знаю, что это делает хорошую работу по сохранению единого потока, который в противном случае раскололся бы, как если бы вы сказали:

Story.append(KeepTogether(Paragraph(header_string, styleH))

тогда этот параграф не раскололся бы, если бы не было возможности этого не быть.

ЕслиKeepTogether не работает для вас, я бы предложил создать кастомFlowable с вашим параграфом и таблицей внутри него, а затем во время макета убедитесь, что ваш пользовательскийFlowable Подкласс не позволяет себя разделить.

Решение Вопроса

paragraph = Paragraph(header_string, styleH)
paragraph.keepWithNext = True
Story.append(paragraph)
Story.append(table)
 j_walker_dev22 янв. 2019 г., 09:11
@jenniwren, ты можешь рассказать об этом немного? Действительно интересует, что будет текучим при индексе -1. Мог бы мне очень помочь. Спасибо
 jenniwren15 мар. 2019 г., 04:11
Индекс -1 относится к последнему элементу в списке. В данном случае это последний текучий текст, добавленный к истории.
 jenniwren15 мар. 2016 г., 00:27
Мне нравится использоватьstory[-1].keepWithNext = True поскольку это делает код короче и чище и может быть легко добавлен и удален без изменения имени переменной. Это полезно для хранения элементов в петлях, потому что вы можете установитьstory[-1].keepWithNext = True в цикле, а затемstory[-1].keepWithNext = False после цикла отключить материал, добавленный в цикл, от того, что добавлено далее.

Ваш ответ на вопрос