7

Reportlab の Platypus を使用して、Python で動的に生成されたレポートを作成しています。

生成された複数のテーブルがありますが、ほとんどのテーブルは 10 行から 20 行しかありません。現在、それらは私のページの最後で自動的に分割されていますが、同じページにまとめておきたいと思います.

テーブルのインスタンス化時に splitByRow を False に設定しようとしましたが、「実装されていません」というエラーが発生します。

また、コードは確認できますが、reportLab の Python ファイルを変更することは許可されていません。たぶん、テーブルをサブクラス化して分割を無効にすることができますか?

フロー可​​能な分割を無効にする最も簡単な方法は何ですか?

4

1 に答える 1

7

答えは自分で見つけました。reportlab.platypus.flowables から KeepTogether をインポートし、テーブルを要素リストに追加するときに、次のように KeepTogether を使用します。

from reportlab.platypus.flowables import KeepTogether 
t = Table(tableData)
self.elements[name] = KeepTogether(t)
于 2012-07-11T17:04:57.257 に答える