14

reportlab フレームに追加するテキストのリストがあります

style = getSampleStyleSheet()['Normal']
style.wordWrap = 'LTR'
style.leading = 12
for legend in legends:
    elements.append(Paragraph(str(legend),style))

凡例が長すぎると、最後のテキストがまったく表示されません。この状況で改行を導入する方法。

4

3 に答える 3

23

これは当てはまる場合と当てはまらない場合がありますが\n、Python文字列に新しい行を導入するために通常使用するものが、ReportLabのParagraphオブジェクトによって無視されることを学びました。

メーリングリストから、段落内<br/>で代わりにHTMLを使用して改行を導入 できることを学びました。

それは私にとってはうまくいきます。

于 2012-02-24T02:00:12.893 に答える
13

PolyGeoが言うように、段落に新しい行を追加するために使用できます<br />

<br />新しい行をタグに変換する

replace('\n','<br />\n')

更新されたコード

 for legend in legends:
        content = str(legend).replace('\n','<br />\n')
        elements.append(Paragraph(content, style))
于 2013-03-22T12:40:51.080 に答える
0
style.wordWrap = 'LTR'

これをletterと誤解した場合は申し訳ありませんが、段落自体はドキュメントのページサイズに関連して「ワードラップ」されています。

アジア言語には 'CJK' という userguide の値があります。おそらく、アジア言語の単語分割など、別の方法でテキストを検索してフィニッシュ ラインを検索するように設定されている可能性があります。None に設定してください。

于 2011-12-11T11:22:09.563 に答える