Hi All

I am hoping there is someone out there that knows reportlab quite well. I posted this on the reportlab mailing list but there is not much activity on that list

I am currently generating a pdf report using reportlab 2.3 and python 2.5.4. The report has a table that spans multiple pages. My problem is that the portions on the table that continues after the first page, is starting at a point not defined by me, so it creates a layer over the logo which is on each page. How do I specify the starting point of each page the table spans ? Normally I would use pagebreak and spacers but I cannot figure out how to fit this into the table structure. I also looked at using the myLaterPages function, but it does not seem that I can do this with the canvas.

Here is a small extract of my current code

doc = SimpleDocTemplate("test.pdf")
Story = [Spacer(1, mm * 60)]
#populate story with first page

record_data = []
for var1, var2, var3, var4, var5 in cursor.fetchall():
    Story.append(PageBreak())
    Story.append(Spacer(1, mm * 15))
    Story.append(Paragraph(var1, heading1))
    Story.append(Spacer(1, mm * 5))
    Story.append(Paragraph(var2, description))
    Story.append(Spacer(1, mm * 5))
record_data.append([Paragraph('Header 1', grid_header), Paragraph('Header 2', grid_header), Paragraph('Header 3', grid_header), Paragraph('Header 4', grid_header), Paragraph('Header 5', grid_header)])

record_data.append([Paragraph(var1, grid), Paragraph(var2, grid), Paragraph(var3, grid), Paragraph(var4, grid), Paragraph(var5, grid)])

t = Table(record_data, style=[('GRID', (0, 0), (-1, - 1), 0.5, colors.HexColor('#00204E'))], colWidths=[65, 220, 50, 50, 40])
Story.append(t)

doc.build(Story, onFirstPage=myFirstPage, onLaterPages=myLaterPages)


myFirstPage and MyLaterPages are functions that use the canvas to draw the page header and footer.

Any advice would be greatly appreciated.

Cheers
Albert


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to