Как сделать таблицу в pdf лаборатории отчетов для печати на следующей странице, когда она достигнет конца размера страницы - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть таблица в лаборатории отчетов в django, и я хочу, чтобы она продолжала печатать свои значения на следующей странице, когда она достигнет конца страницы А4.Есть ли способ отслеживать текущее положение при печати?А что означают t.wrapOn и t.drawOn?

Мой код Django:

buffer = io.BytesIO()
p = canvas.Canvas(buffer)

width, height = A4
data = [


    ['30', '31', '32', '33', '34'],
    ['00', '01', '02', '03', '04'],
    ['10', '11', '12', '13', '14'],
    ['20', '21', '22', '23', '24'],
    ['30', '31', '32', '33', '34'],
    ['00', '01', '02', '03', '04'],
    ['10', '11', '12', '13', '14'],
    ['20', '21', '22', '23', '24'],
    ['30', '31', '32', '33', '34'],
    ['00', '01', '02', '03', '04'],
    ['10', '11', '12', '13', '14'],
    ['20', '21', '22', '23', '24'],
    ['30', '31', '32', '33', '34'],
    ['00', '01', '02', '03', '04'],
    ['10', '11', '12', '13', '14'],
    ['20', '21', '22', '23', '24'],
    ['30', '31', '32', '33', '34'],
    ['00', '01', '02', '03', '04'],
    ['10', '11', '12', '13', '14'],


]

t = Table(data, style=[
        # ('GRID', (0, 0), (-1, -1), 0.5, colors.black),
        ('LINEABOVE', (0, 1), (-1, 1), 1, colors.blue),
        # ('VALIGN', (3, 0), (3, 0), 'BOTTOM'),
        # ('ALIGN', (3, 1), (3, 1), 'CENTER'),
        # ('ALIGN', (3, 2), (3, 2), 'LEFT'),
                    ]
                    )


h = 100.0
t.wrapOn(p, width, height)
t.drawOn(p, *coord(8.8, 1.0, cm))


p.save()

buffer.seek(0)
return buffer
...