Add page break to Reportlab Canvas object

juanefren picture juanefren · Aug 29, 2010 · Viewed 13.4k times · Source

I need to generate a 2 pages pdf report. Pages are completely independent. tried using:

mycanvas.drawString(x, y, "Printing on Page 1")
mycanvas._pageNumer = 2
mycanvas.drawString(x, y, "Printing on Page 2")

and:

mycanvas.drawString(x, y, "Printing on Page 1")
P = PageBreak()
P.drawOn(mycanvas, 0, 1000)
mycanvas.drawString(x, y, "Printing on Page 2")

But everything is printed on the same page.

How should I add a page break to this Canvas instance ?

Answer

Alex Martelli picture Alex Martelli · Aug 29, 2010

Just call mycanvas.showPage() once page 1 is done -- this way, the rest of the output goes to page 2. See the docs.