我是新来报告实验室和蟒蛇的。我知道使用reportlab可以在段落和表格中包装测试,但我正在绘制一个带有可变文本的报告,有时文本有两个长度,需要换行。有没有一种方法可以让发送到reportlab中的drawstring的文本在太长的时候被换行?
系统信息: Windows 8机器、ReportLab 3.3、Python 3
发布于 2017-01-20 12:22:28
看起来drawstring不允许换行。我最终通过使用textwrap python函数解决了这个问题;该函数会将原始字符串分割成一个列表,然后获取该列表的结果,如果它传递了一定的长度,则手动创建一个带有drawstring的新行。
import textwrap
if len(originalstring) > 45:
wrap_text = textwrap.wrap(originalstring, width=45)
canvas.drawString(coordx, coordy, wrap_text[0])
canvas.drawString(coordx, coordy, wrap_text[1])
else:
canvas.drawString(coordx, coordy, originalstring)https://stackoverflow.com/questions/41553666
复制相似问题