Hy,ReportLab - перекрывающиеся слова
Я использую отчетную лабораторию для создания pdf. Я хочу нарисовать текст, который представляет собой Paragraph
, представляющий заголовок, поэтому, если заголовок длиннее, чем доступный абзац, он будет разбит на следующей строке, и если заголовок будет длинным, чтобы соответствовать доступной ширине и высоте абзаца чем текст будет изменен.
Он работает нормально с amaller шрифт 10, но, если я выбираю стиль с большим шрифтом, например:
title_style = ParagraphStyle("title", fontName='Helvetica', fontSize=50, alignment=TA_CENTER, backColor=None)
чем текст рисуется, как на изображении ниже, слова перекрывание:
вот мой код:
def draw_on(canvas, x, y, paragraph, style, text, available_width, available_height, min_font_size=8):
w, h = paragraph.wrap(available_width, available_height)
temp_font_size = paragraph.style.fontSize
while temp_font_size > min_font_size:
if w <= available_width and h <= available_height:
paragraph.drawOn(canvas, x, y)
break
else:
temp_font_size -= 1
style.fontSize = temp_font_size
paragraph = Paragraph(text, style)
w, h = paragraph.wrap(available_width, available_height)
def generate_pdf():
c = canvas.Canvas("FirstPage.pdf")
title_style = ParagraphStyle("title", fontName='Helvetica', fontSize=10, alignment=TA_CENTER, backColor=None)
title_text = 'If title has a small font, everything s ok.'
title_paragraph = Paragraph(title_text, title_style)
title_paragraph_available_width = 2*inch
title_paragraph_available_height = 1*inch
title_min_font_size = 8
draw_on(c, 2*inch, 5*inch, title_paragraph, title_style, title_text, title_paragraph_available_width,
title_paragraph_available_height, title_min_font_size)
c.showPage()
c.save()
Любой имеет ideea, почему это происходит и как исправить это?