Python:如何使 Reportlab 在 PDF 输出中移至下一页
Posted
技术标签:
【中文标题】Python:如何使 Reportlab 在 PDF 输出中移至下一页【英文标题】:Python: How to make Reportlab move to next page in PDF output 【发布时间】:2012-03-30 13:44:44 【问题描述】:我在 Windows 上使用带有 Python 的开源版本 Reportlab。我的代码遍历多个 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()
【问题讨论】:
每次使用canv.drawImage(...) 后尝试使用canv.showPage()。 啊哈!我很好奇这实际上做了什么……很棘手。如果您将此作为答案重新发布,我会接受! 【参考方案1】:[跟进帖子评论]
在每次使用canv.drawImage(...)
后使用canv.showPage()
。
(http://www.reportlab.com/apis/reportlab/dev/pdfgen.html#reportlab.pdfgen.canvas.Canvas.showPage)
关注源文档(对于您使用的任何工具,您都应该深入了解它的相应网站文档): http://www.reportlab.com/apis/reportlab/dev/pdfgen.html
【讨论】:
以上是关于Python:如何使 Reportlab 在 PDF 输出中移至下一页的主要内容,如果未能解决你的问题,请参考以下文章
如何将整个表格与 Python Reportlab 库对齐?