我有一个要添加到reportlab框架的文本列表
style = getSampleStyleSheet()['Normal']
style.wordWrap = 'LTR'
style.leading = 12
for legend in legends:
elements.append(Paragraph(str(legend),style))
如果图例太长,则根本看不到末尾的文字。 如何在这种情况下引入换行符。
答案 0 :(得分:15)
这可能适用也可能不适用,但我刚刚了解到,我通常用于在Python字符串中引入新行的\n
会被ReportLab的Paragraph对象忽略。
从mailing list我了解到在Paragraph中你可以使用HTML <br/>
来引入新行。
这对我很有用。
答案 1 :(得分:6)
正如PolyGeo所述,您可以使用<br />
向段落添加新行。
将新行转换为<br />
代码
replace('\n','<br />\n')
更新了代码
for legend in legends:
content = str(legend).replace('\n','<br />\n')
elements.append(Paragraph(content, style))
答案 2 :(得分:0)
style.wordWrap = 'LTR'
很抱歉,如果我误解为 letter ,但Paragraph本身就是“自动换行”,与文档页面大小相关。
对于亚洲语言,有'CJK'的用户指南价值,可能您的设置会根据其他内容搜索终点线,例如亚洲语言分词。将它设置为无应该做的事情。