【问题标题】:python wrap text and reportlabpython 换行文本和reportlab
【发布时间】:2017-03-30 13:26:06
【问题描述】:

我有一个小代码,我想将我的长字符串包装在每 10 个字符中,然后使用 reportlab 将其添加到 PDF 中:

这就是我的尝试:

text = '*long_text_long_text_long_text_long_text*'
text = "\n".join(wrap(text, 10))
canvas.drawString(5,227, text)

我的 pdf 已创建,但在我想打破线条的地方我只能看到黑色矩形。你可以看附图:

你能帮帮我吗?谢谢!

【问题讨论】:

  • 我不知道canvas 是什么,但我敢打赌它的drawString 方法本身并不支持渲染多行字符串。您可能需要手动遍历每条线并单独绘制它们,使用您自己的算术指定每条线的 Y 坐标。

标签: python reportlab word-wrap


【解决方案1】:

drawString 绘制一条线。所以你需要在循环中调整每一行的坐标。

y = 227
for line in wrap(text, 10):
    canvas.drawString(5, y, line)
    y += 15

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多