ReportLab: Текст с крупным шрифтом втиснут в абзац

Используя ReportLab, я хочу отобразить блок текста с большим размером шрифта. Прямо сейчас мой код помещает текст в абзац, чтобы его можно было перенести по словам. Однако при рендеринге текст оказывается переполненным.

Похоже, высота, которую я указал для объекта 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()

person user1386211    schedule 17.08.2012    source источник
comment
Возможно, это должно помочь: blog.pythonlibrary.org/2010/03/08/   -  person catherine    schedule 13.03.2013


Ответы (1)


Ответ заключается в том, чтобы установить для ведущего атрибута значение 120:

p.leading = 120

По умолчанию стиль имеет размер шрифта 10 со значением интерлиньяжа 12. Параметр интерлиньяжа указывает расстояние вниз, на которое следует перемещаться при переходе от одной текстовой строки к следующей.

person Nicholas TJ    schedule 13.03.2013