1

reportlab ドキュメントに長い段落を追加しようとしています。

次のように、テキスト全体を追加するだけで成功します。

self.story.append(Paragraph(text, STYLE_PARAGRAPH))

を使用してビルドします

self.doc.multiBuild(self.story, canvasmaker=MyCanvas)

問題は、改行 ( \n) が考慮されていないことです。に置き換えてみました<br/>が、これはカモノハシでサポートされていないようで、brタグが不明であるというエラーが表示されます。

私の次の試みは、それを別々の段落に分割することでした:

for p in text.replace('\r', '').split('\n'):
    self.story.append(Paragraph(p, STYLE_PARAGRAPH))

これは次のことにつながります。

reportlab.platypus.doctemplate.LayoutError: Splitting error(n==1) on page 47 in [...]

私が間違っていることは何か分かりますか?

- アップデート -

アダムが言っ<br/>たように、うまくいくはずですが、私の場合はうまくいきませんでした。長時間のデバッグの後、インポートが間違っていることがわかりました。

正しい:

from reportlab.platypus import Paragraph

私の輸入:

from reportlab.platypus.para import Paragraph

とにかく間違ったインポートが機能する理由はわかりませんが。

4

1 に答える 1