小编ilp*_*sun的帖子

如何让 ReportLab 在连字符处换行?

我有一个设计模板,它迫使我使用非常大的大写字母作为标题。如果我有一个不适合一行的长单词,我会遇到预期的问题,因为 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)

python reportlab

5
推荐指数
1
解决办法
881
查看次数

标签 统计

python ×1

reportlab ×1