Сделайте так, чтобы данные из второго столбца оставались во втором столбце - PullRequest
0 голосов
/ 13 января 2019

Я делаю форму, используя reportlab и его в двух столбцах. Второй столбец - это просто копия первого столбца.

Я использовал функцию Frame () для создания двух столбцов и функцию Spacer (), чтобы отделить исходную форму от скопированной формы на два столбца.

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

1 Ответ

0 голосов
/ 15 января 2019

Если я правильно понял ваш вопрос, проблема в том, что вы используете распорку для управления визуальным размещением содержимого в двух столбцах / фреймах. Таким образом, вы видите его как один длинный столбец, разбитый на две части, в то время как вам нужно видеть его как два отдельных столбца (два отдельных кадра).

Таким образом, вы получите больший контроль, если закончите первый кадр (с помощью FrameBreak (), прежде чем начинать заполнять другой, и используете только распорку для управления любым визуальным дизайном в том же кадре.

Инструменты, о которых вы должны знать: FrameBreak (), если вы ищете его, вы найдете много примеров кода.

например. Вы заполняете кадр 1 10 строками текста, затем вставляете FramBreak () и поручаете сценарию начать заполнение второго столбца.

Другой инструмент, о котором вам следует знать, это настройки, используемые, например, для BaseDocTemplate:

allowSplitting: при значении 1 текущие элементы (например, абзацы) могут быть разбиты на фреймы или страницы. Если 0, вы вводите содержимое в один и тот же фрейм. (по умолчанию: 1, отключено с 0).

...