我有一个设计模板,迫使我使用非常大的大写字母作为标题。如果我有一个不适合一行的长词,我会遇到预期的问题,因为RL没有内置的连字符 - 这没关系。但是,如果我有一个长的复合词,包含一个连字符(例如“VVVVEEEERRRRYYYY-LLLLOOOONNNNGGGG”),它就不会像我期望的那样在连字符处被打破。
预期:
|VVVVEEEERRRRYYYY- |
|LLLLOOOONNNNGGGG |
实际值:
|VVVVEEEERRRRYYYY-LLLLOO|
|OONNNNGGGG |
如何在遇到连字符时告诉ReportLab执行条件换行符?
BTW,PDF是使用Python 3.4和reportlab 3.1.8生成的,如下所示:
doc = BaseDocTemplate(fname,
leftMargin=20 * mm, rightMargin=20 * mm,
topMargin=25 * mm, bottomMargin=20 * mm)
story = []
frame_first_page = Frame(doc.leftMargin, doc.bottomMargin, doc.width,
doc.height - 24 * mm,
leftPadding=0, rightPadding=0, id='first')
doc.addPageTemplates([PageTemplate(id='first_page',
frames=frame_first_page,
onPage=_on_first_page),
PageTemplate(id='remaining_pages',
frames=frame_remaining_pages,
onPage=_on_remaining_pages)])
story.append(Paragraph(heading_text.upper(), styles["title"]))
doc.build(story)