有没有办法在ReportLab的段落中插入回车符?我试图将“\ n”连接到我的段落字符串,但这不起作用。
Title = Paragraph("Title" + "\n" + "Page", myStyle)
我想这样做,因为我将名字放入单元格并想要控制单元格中一行上有多少名称(理想情况下为1)。一个单元格可以包含多个名称,但在该单元格中我希望每个名称都在其自己的行上,因此需要插入新行。
在某些时候我得到一个可流动到大的框架错误(我认为它与表太大或有太多的合并行有关)。我能想到的唯一方法就是在一个单元格中每行只有一个名称,这样我就可以根据名称的数量来限制表格大小,并将表格分成更小的表格。
似乎必须有一个更清洁的方法来做到这一点。有什么建议?
答案 0 :(得分:3)
Paragraph
是reportlab中的Flowable
。换行符不会以您希望的方式在可流动的内部工作。如果您的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
答案 1 :(得分:2)
如果您想要开始一个新段落(无论您是否在表中),您都可以使用<br/>
标签。这对你也有用:
Title = Paragraph("Title" + "<br/>" + "Page", myStyle)
(信用:Reportlab - how to introduce line break if the paragraph is too long for a line)