如何判断页面是否满了ReportLab PDF?

1 投票
2 回答
925 浏览
提问于 2025-04-16 12:01

我正在使用Reportlib来创建PDF表格(通过c.draw())。但是我不知道什么时候页面会满,因为内容是动态的。请问我怎么才能检查出我是否到达了页面的底部,这样我就可以添加页脚并执行c.showPage()?

2 个回答

0

我知道这个问题之前有人问过,不过我现在的实现方式是:

[some page creation code, working its way down]
if ypos < 3 * cm: # near the bottom
    c.drawString(5 * cm, 2 * cm, "Cont...")
    c.showPage()
    ypos = 27 * cm

希望这对某些人有帮助。

2

canvas.draw() 这个方法太底层了。如果你想用这个方法,你就得自己处理所有的事情。

相反,你可以使用 Platypus 来创建 Flowables。当你把它们放进你的文档里时,reportlab.platypus.doctemplate.BaseDocTemplate 提供了几个可以用来控制它们位置和流动的接口。

撰写回答