我有一个设计模板,它迫使我使用非常大的大写字母作为标题。如果我有一个不适合一行的长单词,我会遇到预期的问题,因为 RL 没有内置的连字符 - 没关系。但是,如果我有一个包含连字符的长复合词(例如“VVVVEEEERRRRYYYY-LLLLOOOONNNNGGGG”),它不会像我期望的那样在连字符处被破坏。
预期的:
|VVVVEEEERRRRYYYY- |
|LLLLOOOONNNNGGGG |
Run Code Online (Sandbox Code Playgroud)
实际的:
|VVVVEEEERRRRYYYY-LLLLOO|
|OONNNNGGGG |
Run Code Online (Sandbox Code Playgroud)
遇到连字符时,如何告诉 ReportLab 执行有条件的换行?
顺便说一句,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)
Run Code Online (Sandbox Code Playgroud)