我试图在reportlab文档中添加长段落。
当我添加整个文本时,它会成功,例如:
self.story.append(Paragraph(text, STYLE_PARAGRAPH))
并使用
构建它self.doc.multiBuild(self.story, canvasmaker=MyCanvas)
问题是,不考虑换行符(\n
)。我尝试用<br/>
替换它们,但这似乎不受platypus的支持,我收到br
标记未知的错误。
我的下一次尝试是将其分成不同的段落:
for p in text.replace('\r', '').split('\n'):
self.story.append(Paragraph(p, STYLE_PARAGRAPH))
导致:
reportlab.platypus.doctemplate.LayoutError: Splitting error(n==1) on page 47 in [...]
知道我做错了吗?
- 更新 -
正如亚当所说,<br/>
应该有效,但在我的情况下并非如此。经过长时间的调试,我发现导入错误了:
正确:
from reportlab.platypus import Paragraph
我的导入:
from reportlab.platypus.para import Paragraph
虽然我不知道为什么错误的导入确实有效。