我正在使用带有reportlab的Python 2.7来生成我的PDF文件。我想更改项目符号样式,例如我想使用短划线-
或检查✓
或交叉x
而不是默认编号(1 2 3 4 5 ...)
这是我的代码:
styles = getSampleStyleSheet()
style = styles["Normal"]
t = ListFlowable(
[
Paragraph("Item no.1", style),
ListItem(Paragraph("Item no. 2", style),bulletColor="green",value=7),
Paragraph("Item no.4", style),
],
bulletType='1'
)
data = [[t, t, t, t]]
table = Table(data, colWidths=(4.83*cm))
table.setStyle(TableStyle([
('BOX', (0,0), (-1,-1), 0.7, colors.black)
]))
table.wrapOn(pdf, width, height)
table.drawOn(pdf, *coord(1.1, 21, cm))
我只是创建我的FlowableList并将其包装到表中。但实际上bulletType是bulletType='1'
然后我有我的数字列表。我尝试用bulletType='-'
替换它,但这不起作用。
您是否知道如何用其他符号替换所有号码?
答案 0 :(得分:0)
我解决了我的问题。我在reportlab的bitbucket上看到了source code
以下是默认形状列表
_bulletNames = dict(
bulletchar=u'\u2022', #usually a small circle
circle=u'\u25cf', #circle as high as the font
square=u'\u25a0',
disc=u'\u25cf',
diamond=u'\u25c6',
diamondwx=u'\u2756',
rarrowhead=u'\u27a4',
sparkle=u'\u2747',
squarelrs=u'\u274f',
blackstar=u'\u2605',
)
我只需要添加start参数并设置我想要的内容。
t = ListFlowable(
[
Paragraph("Item no.1", style),
ListItem(Paragraph("Item no. 2", style),bulletColor="green",value=7),
Paragraph("Item no.4", style),
],
bulletType='1',
start='-' // You can use default shape or custom char like me here
)