ReportLab:大字体的文本挤在段落中



使用ReportLab,我想呈现一个大字体的文本块。 现在,我的代码将文本放在段落中,以便可以自动换行。 但是,文本在呈现时会挤在一起。

似乎没有考虑我为 Passage 对象指定的高度。 是否可以添加段落的属性来解决此问题?

我的代码如下:

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()

答案是将前导属性设置为 120:

p.leading = 120

默认情况下,样式的 fontSize 为 10,前导值为 12。前导参数指定从一个文本行前进到下一个文本行时要向下移动的距离。

最新更新