ReportLab:段落中填充了大字体的文本

时间:2012-08-17 23:10:53

标签: python django pdf reportlab paragraph

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

似乎没有考虑我为Paragraph对象指定的高度。我可以添加一个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()

1 个答案:

答案 0 :(得分:5)

答案是将leading属性设置为120:

p.leading = 120

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