使用ReportLab制作横向PDF



我正在编写一个Python脚本,该脚本使用ReportLab生成PDF报告。我需要横向制作页面,我已经看过ReportLab手册,但我找不到这样做的方法。有什么想法或建议吗?

确保您已导入

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年以来一直被弃用,但仍然可用。此外,有两个函数是可用的,portraitlandscape,它们各自接受一个元组页面大小,纵向首先返回维度较小的元组,横向首先返回维度较大的元组。

from reportlab.lib.pagesizes import letter, landscape

然后定义页面大小和方向。

p = canvas.Canvas(response, pagesize=(landscape(letter)))

最新更新