【发布时间】:2012-04-25 17:00:17
【问题描述】:
我有一个使用 reportlab 生成的 pdf。我正在使用SimpleDocTemplate 渲染文档,前n 页都是相同的,但最后一个完全不同(格式和内容),由一个应该占据整个页面的图像组成。将图像添加为Flowable 元素时,出现越界错误,因为它对于定义的页面边界来说太大了。
我可以使用画布很好地渲染它,但它会出现在每个页面上 - 有没有人建议最好的方法来解决这个问题?
谢谢
【问题讨论】:
我有一个使用 reportlab 生成的 pdf。我正在使用SimpleDocTemplate 渲染文档,前n 页都是相同的,但最后一个完全不同(格式和内容),由一个应该占据整个页面的图像组成。将图像添加为Flowable 元素时,出现越界错误,因为它对于定义的页面边界来说太大了。
我可以使用画布很好地渲染它,但它会出现在每个页面上 - 有没有人建议最好的方法来解决这个问题?
谢谢
【问题讨论】:
如果您知道最后页码:
def onLaterPages(self, doc, canvas):
if doc.page == TOTAL_PAGES:
canvas.saveState()
canvas.drawImage(filename, 0, 0, *pagesize)
canvas.restoreState()
# and when calling doc.build
doc.build(..., onLaterPages=onLaterPages)
如果您不知道总页码,请查看this,但我认为他们没有使用 SimpleDocTemplate...
【讨论】:
tuple IIRC。它是(宽度,高度)。可以是常量之一。