5

reportlab 2.6 の ListFlowable を使用して、色付きの丸の箇条書きで箇条書きリストを作成しています。ただし、前のインデントされていないテキストに揃えるのではなく、テキストの横に箇条書きを表示したいと思います。ListFlowable ソースを開こうとしましたが、あまり見つかりませんでした。ここに私が持っているものがあります:

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)

このコードの結果は次のようになります。 望ましくない

しかし、私はそれを次のようにしたい: 望ましい

目的の効果が得られるように、2 番目の画像を手動で編集しました。

インデントされた箇条書きを取得するために、リスト内にリストを作成することを考えましたが、箇条書きに近いテキストを下げる方法がわかりません。

4

2 に答える 2

5

leftIndentパラメータをに渡すだけ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
)

編集:箇条書きとテキストの間のスペースを定義するためleftIndentのの を設定する必要があります。ListFlowable

于 2013-02-21T07:28:22.430 に答える