How can I make the bullet appear directly next to the text of an indented list in the reportlab package for python?
bulletedlist, python, reportlab
Solution
Just pass a `leftIndent` parameter into the `ListItem`.
my_list = ListFlowable([
ListItem(Paragraph("Line 1", styles['Normal']),
leftIndent=35, value='circle',
bulletColor=CMYKColor(0.81, 0.45, 0.53, 0.23)
),
ListItem(Paragraph("Line 2", styles['Normal']),
leftIndent=35, value='circle',
bulletColor=CMYKColor(0.81, 0.45, 0.53, 0.23))
],
bulletType='bullet',
start='circle',
leftIndent=10
)
EDIT: You have to set the `leftIndent` of the `ListFlowable` for defining the space between the bullets and the text.
Problem
I'm using reportlab 2.6's ListFlowable to make a bulleted list with colored circle bullets. However, I would like the bullet to appear next to the text, rather than aligned with the preceding, non-indented text. I tried to open up the ListFlowable source, but I couldn't find much there. Here's what I have: ``` from reportlab.platypus import Paragraph, ListFlowable, ListItem, SimpleDocTemplate, Frame from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.colors import CMYKColor doc = SimpleDocTemplate("SOtest.pdf") styles = getSampleStyleSheet() Story = [] Story.append(Paragraph("Header Text, I dont want the bullets directly below the H" ,styles['Normal'])) my_list = ListFlowable( [ ListItem(Paragraph("Line 1",styles['Normal']) ,bulletColor = CMYKColor(0.81, 0.45, 0.53, 0.23) ,value = 'circle' ), ListItem(Paragraph("Line 2",styles['Normal']) ,bulletColor = CMYKColor(0.81, 0.45, 0.53, 0.23) ,value = 'circle' ) ], bulletType='bullet', start='circle' ) Story.append(my_list) doc.build(Story) ``` This code results in this: But I want it to look like: I manually edited the second image to get the desired effect. I thought about making a list inside a list, to get an indented bullet, but then I wouldn't know how to dedent the text closer to the bullet.