ReportLab не переносит текст из коробки, поэтому я предполагаю, что вы либо используете пункт в ячейках таблицы, либо разбиваете строки вручную с помощью simpleSplit.
Если ваш текст состоит из одной строки, то вы можете использовать
from reportlab.pdfbase.pdfmetrics import stringWidth
textWidth = stringWidth(text, fontName, fontSize)
Если ваш текст состоял из нескольких строк, предполагая, что вы работаете в прямоугольной области с определенной шириной, выполните
from reportlab.lib.utils import simpleSplit
lines = simpleSplit(text, fontName, fontSize, maxWidth)
lines - это список всех строк вашего абзаца, если вы знаете значение межстрочного интервала, тогда высоту абзаца можно рассчитать как lineSpacing * len (lines)
Если это оказалось длиннее, чем ваша страница, то использование любого шаблона (preppy, django, ninja и т. Д.) Находит хороший предел для вашего текста, завершает текущую строку и начинает новую.
Надеюсь, это поможет
Meitham
p.s. Вы всегда можете отправить свои вопросы в список рассылки reportlab, и они обычно очень быстро отвечают на эти вопросы.