我想知道是否有一些功能可以在两页或更多页上拆分表格行。导致行中的某些信息对于一页来说可能太长,如果一行长于页面大小,则会导致异常。
问问题
3421 次
1 回答
1
ReportLab 没有开箱即用的文本换行,因此我假设您在表格单元格中使用 para,或者您正在使用 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 等)为您的文本找到一个很好的断点并结束当前行并开始一个新行。
我希望这有帮助
梅瑟姆
ps 你可以随时将你的问题发送到reportlab邮件列表,他们通常会很快回答这些问题。
于 2010-07-26T14:46:08.597 回答