如何在 ReportLab 段落中插入回车?
如何在 ReportLab 段落中插入回车?
有没有一种方法可以在ReportLab的段落中插入换行符?我尝试将\"\\n\"连接到我的段落字符串中,但这并没有起作用。
Title = Paragraph("Title" + "\n" + "Page", myStyle)
我要这样做是因为我正在将姓名放入单元格,想要控制单元格中有多少个姓名位于同一行(理想情况下为1)。一个单元格可以包含多个姓名,但在该单元格中,我希望每个姓名都单独占用一行,因此需要插入新行。
在某个时候,我会得到“流可过大以致于框架错误”的错误(我认为这与表格过大或有太多合并行有关)。我唯一可以想到的方法是在单元格中每行只有一个姓名,这样我可以根据姓名数量限制表格大小并将表格分成较小的表格。
似乎必须有更简洁的方法来做到这一点。有什么建议吗?
admin 更改状态以发布 2023年5月21日
Paragraph
是 reportlab 中的可流动文本。在流动文本内部,换行字符不会按照您预想的方式工作。如果您的 Paragraph
在表格中(正如您所建议的那样),您可以考虑创建一个没有可流动文本的单元格。例如,您可以这样做:
data = [['Title\nPage', 'Name', 'Exists'], # note the newline character ['', 'George', 'True']] t = Table(data, style=style_) ...
上面的示例将使第一个数据单元格高度为两行(但仍然属于同一个单元格)。
如果您确实需要保留 Paragraph
可流动文本的样式,您可以在同一个单元格中插入两个段落:
title1 = Paragraph("Title", myStyle) title2 = Paragraph("Page", myStyle) cell = [title1, title2] # put this in a single cell of your table
如果您想开始一个新段落(无论您是否在表格中),都可以使用
标签。这也适用于您:
Title = Paragraph("Title" + "" + "Page", myStyle)
(来源:Reportlab - 如果段落太长而无法在一行中断行)
。