Reportlab - 如何在单词之间添加空格

时间:2015-06-18 12:34:59

标签: python reportlab

我有一个文字:

elements.append(Paragraph(<font size=10>word1 word2</font>, styleSheet["Normal"]))

我想在word1和word2之间添加空格:

word1    word2

我怎么能这样做?

3 个答案:

答案 0 :(得分:6)

我知道我在这方面有点迟,但为不间断的空间添加html &nbsp;对我有用。

答案 1 :(得分:3)

我怀疑它有一个简单的解决方案。

作为一种解决方法,您可以尝试在段落中添加空白(transperent或背景颜色)1px x 1px图像,并将其缩放到所需的宽度。

<font size=10>word1<img src="../path/to/image" width="10" />word2</font>

另一个(繁琐)解决方案是使用canvas.beginText(x,y)创建的textobject来自己布置段落。

textobject = canvas.beginText(x, y)
textobject.setWordSpace(10)
textobject.textLine("word1 word2")
... (setting other parameters such as font etc.)
canvas.drawText(textobject)

希望这有帮助。

答案 2 :(得分:0)

def pad_text(text, num):
    text = str(text)
    num = int(num)
    text = text[:num]
    remaining = num - len(text)
    print(remaining)
    if (remaining == 0):
        return '<div>'+text+'</div>'
    else:
        res = '<div>'+text+ ' &nbsp;'*remaining +'</div>'
        return res

您可以使用它。