A
Albert Leibbrandt
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
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