Django с reportlab pdf
Следующий код работает и печатает pdf как нужно, но все печатается только на одной странице, как я могу автоматически генерировать новые страницы, когда данные накапливаются, прошу совета
def pdf_view(request):
buf = io.BytesIO()
c = canvas.Canvas(buf)
c.setPageSize(landscape(A4))
width, height = A4
textob = c.beginText()
textob.setTextOrigin(inch, inch)
textob.setFont("Helvetica", 14)
rows = []
users = User.objects.filter(is_staff=False)
for user in users:
rows.append((
user.username,
user.email,
user.first_name,
user.last_name,
))
table = Table(rows, colWidths=46 * mm)
table.setStyle([
('GRID', (0, 0), (-1, -1), 0.25, colors.black),
("ALIGN", (0, 0), (-1, -1), "LEFT"),
])
table.wrapOn(c, width, height)
table.drawOn(c, 10 * mm, 10 * mm)
styles = getSampleStyleSheet()
ptext = "Member List"
custom_style = ParagraphStyle(
"Normal",
fontName="Helvetica-Bold",
fontSize=16,
parent=styles['Heading2'],
alignment=1,
spaceAfter=14
)
p = Paragraph(ptext, custom_style)
p.wrapOn(c, 100 * mm, 100 * mm)
p.drawOn(c, 100 * mm, 195 * mm) # position of text / where to draw
c.save()
buf.seek(0)
return FileResponse(buf, as_attachment=True, filename='members.pdf')
Я пытался со следующей строкой
c.showPage()
после c.setPageSize(landscape(A4))
, но первая страница становится пустой