使用 ReportLab,我想渲染一个大字体的文本 block 。现在,我的代码将文本放在一个段落中,这样它就可以自动换行。但是,文本在呈现时会挤在一起。
似乎没有考虑我为段落对象指定的高度。我可以添加 Paragraph 的属性来解决这个问题吗?
我的代码如下:
from reportlab.pdfgen import canvas
from reportlab.lib.units import inch
from reportlab.platypus import Paragraph
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.enums import TA_CENTER
doc = canvas.Canvas('test.pdf')
p = ParagraphStyle('test')
p.textColor = 'black'
p.borderColor = 'black'
p.borderWidth = 1
p.alignment = TA_CENTER
p.fontSize = 100
para = Paragraph("THIS IS A REALLY LONG AND BIG STRING OF TEXT RIGHT HERE!!!!!", p)
para.wrapOn(doc,1200,1000)
para.drawOn(doc, 0.5*inch, 6*inch)
doc.save()
最佳答案
答案是设置leading属性为120:
p.leading = 120
默认情况下,样式的字体大小为 10,前导值为 12。前导参数指定从一个文本行前进到下一个文本行时向下移动的距离。
关于python - ReportLab:大字体的文本挤在段落中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014254/