3 回答
TA贡献1859条经验 获得超6个赞
这是搜索如何在 ReportLab 中制作嵌套列表的人们的最佳结果,
您可以将ListFlowable
alist
作为其项目之一。如果其中list
包含 aParagraph
和 another ,它将在同一个项目符号点内ListFlowable
呈现嵌套ListFlowable
在 the 之后的Paragraph
权利。
t = ListFlowable(
[
Paragraph("Item no. 1", style),
[
Paragraph("Item no. 2", style),
ListFlowable(
[
Paragraph("sublist item 1", style),
ListItem(Paragraph('sublist item 2', style), bulletColor='red')
],
bulletType='bullet',
bulletFontSize=5,
start='square',
)
],
Paragraph("Item no. 3", style),
],
bulletType='1',
bulletFormat='%s.',
bulletFontSize=8,
)
不要费心隐藏多余的项目符号,或告诉 ReportLab 不要渲染它然后必须仔细管理value后续的ListItem项目符号。<ul>它与 HTML 中的s 和s完全一样<ol>。
上面的代码呈现如下:
TA贡献1816条经验 获得超6个赞
您可以通过将嵌套列表插入 ListItem 并将值参数设置为 0 来关闭一个列表项的编号:ListFlowable([ Paragraph(...), ListItem(ListFlowable(...nested list...), value= 0) ListItem(Paragraph(...), value=2) # 让列表继续下去 ])
TA贡献1898条经验 获得超8个赞
所以我现在想出解决这个问题的方法是将它再次嵌套在另一个 ListFlowable 中,并将 leftIndent 设置为“0”,将 bulletColor 设置为“white”。
lf = ListFlowable([
ListFlowable([
ListItem(Paragraph(text1, styles["Normal"]), spaceAfter=12),
ListFlowable([ListItem(Paragraph(text1a, styles["Normal"])),
ListItem(Paragraph(text1b, styles["Normal"])),t
], bulletType='bullet', bulletFontSize= 5, bulletOffsetY= -2, leftIndent=10, start='circle')], bulletColor='white', leftIndent=0),
ListItem(Paragraph(text2, styles["Normal"]), spaceBefore=12),
], bulletType='1', bulletFontSize= 10)
添加回答
举报