2013-03-19 87 views

回答

13

确保你已经导入

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,每个函数接受一个元组pagesize,并且肖像首先返回具有较小尺寸的元组,而landscape则首先返回具有较大尺寸的元组。

+1

如果我们在谈论A4景观,那么将'letter'换成'A4' – yentsun 2013-03-19 08:40:21