gpt4 book ai didi

python - 如何使用Reportlab编写选项卡?

转载 作者:行者123 更新时间:2023-12-01 08:39:41 25 4
gpt4 key购买 nike

我正在尝试使用Reportlab(python 3.5.2)将一些文本和图形写入PDF,但制表符似乎无法识别,它被打印为黑色方 block 。下面的代码重现了这个问题。

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

def tabs_reportlab():
my_canvas = canvas.Canvas("tab_test.pdf",
pagesize=letter)

textobject = my_canvas.beginText()

textobject.setTextOrigin(10, 730)
textobject.setFont('Times-Roman', 12)
textobject.textLine(text='A tab between each word.')

my_canvas.drawText(textobject);

my_canvas.save()

if __name__ == '__main__':
tabs_reportlab()

它被打印为:

A■tab■between■each■word

我该如何处理这个问题?

最佳答案

编辑,我添加显式 \t 字符的第一个建议不起作用。我查看了 reportlab 的文档,看起来他们使用 HTML 样式格式,因此您不会真正获得显式制表符。相反,在 HTML 中,您通常会使用表格来获得单词之间一致的间距(假设这就是您需要制表符的原因。)下面是一个简单的示例:

from reportlab.lib import colors
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle

doc = SimpleDocTemplate("simple_table.pdf", pagesize=letter)
# container for the 'Flowable' objects
elements = []

data= [['A', 'tab', 'between', 'each', 'word'],
['A', 'tab', 'between', 'each', 'word']]

t=Table(data)

elements.append(t)

doc.build(elements)

关于python - 如何使用Reportlab编写选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53563930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com