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