Python:如何使Reportlab移动到PDF输出中的下一页

时间:2012-03-14 05:02:51

标签: python pdf png reportlab

我在Windows上使用开源版本的Reportlab和Python。我的代码循环遍历多个PNG文件&将它们组合成一个PDF。每个PNG都被拉伸到完整的LETTER规范(8.5x11)。

问题是,保存到output.pdf的所有图像都夹在彼此的顶部,只有最后添加的图像可见。我需要在每个drawImage()之间添加一些内容以偏移到新页面吗?这是我正在做的事情的简单线性视图 -

WIDTH,HEIGHT = LETTER                                            
canv = canvas.Canvas('output.pdf',pagesize=LETTER)               
canv.setPageCompression(0)                                       

page = Image.open('one.png')                                     
canv.drawImage(ImageReader(page),0,0,WIDTH,HEIGHT)

page = Image.open('two.png')                                     
canv.drawImage(ImageReader(page),0,0,WIDTH,HEIGHT)

page = Image.open('three.png')                                   
canv.drawImage(ImageReader(page),0,0,WIDTH,HEIGHT)

canv.save()                                                      

1 个答案:

答案 0 :(得分:9)

[关注帖子的评论]

每次使用canv.showPage()后使用canv.drawImage(...)。 (http://www.reportlab.com/apis/reportlab/dev/pdfgen.html#reportlab.pdfgen.canvas.Canvas.showPage

关注源文档(对于您正在使用的任何工具,您应该深入了解它的相应网站文档): http://www.reportlab.com/apis/reportlab/dev/pdfgen.html