9

ReportLabを使用してPDFレポートを生成するPythonスクリプトに取り組んでいます。ページを横向きで作成する必要があり、ReportLabのマニュアルをすでに確認しましたが、これを行う方法が見つかりません。何かアイデアや提案はありますか?

4

2 に答える 2

19

インポートしたことを確認してください

from reportlab.lib.pagesizes import letter, landscape

その後:

canvas.setPageSize(landscape(letter))

または、より一般的には、

canvas.setPageSize(width, height)

好きなサイズに設定できます。reportlabはポイントを使用することを忘れないでください。1ポイントは1/72インチです。以下をインポートすることもできます。

from reportlab.lib.units import inch

これにより、次のようなことができます。

canvas.setPageSize(11*inch, 8.5*inch)

編集:yentsunに触発されたすべての組み込みページサイズを追加しました。

ソースコードをreportlab.lib.pagesizes詳しく調べてみると、次のことがわかります。

A0,A1,A2,A3,A4,A5,A6
B0,B1,B2,B3,B4,B5,B6
LETTER, LEGAL, ELEVENSEVENTEEN

コメントによると、小文字letterは2001年以降非推奨になっていますが、引き続き使用できます。さらに、2つの関数が使用可能でportraitありlandscape、それぞれがタプルのページサイズを取り、portraitは最初に小さい次元のタプルを返し、landscapeは最初に大きい次元のタプルを返します。

于 2013-03-19T03:16:38.810 に答える
0
from reportlab.lib.pagesizes import letter, landscape

次に、ページのサイズと向きを定義します。

p = canvas.Canvas(response, pagesize=(landscape(letter)))
于 2019-07-03T22:02:36.057 に答える