Reportlab カモノハシで PDF テーブルを作成しています。動的コンテンツのためにページがいついっぱいになるかわかりません。ページの最後にいる場合、どうすればチェックアウトできますか?
カモノハシにページの終わりを確認する方法はありますか?
私は会社のリストを持っており、各会社には複数のビジネスユニットがあり、それぞれの費用がかかります。
companies = [('company1', 'businessunit1', 500),
('company1', 'businessunit2',400),
('company2', 'businessunit3',200),
('company2', 'businessunit4', 700),
('company3', 'businessunit5', 800)
]
上記のリストは、1 つの会社ごとに 3 つのテーブルを生成する必要がありますが、このリストに複数の会社が含まれていると、複数のテーブルが生成され、いずれかのテーブルがページの終わりに達すると壊れます。
fields = ['company name', 'business unit name', 'charge']
for i, comp in enumerate(companies):
charges = []
document.append(Paragraph("<b>%s</b>" %comp[i][0], STYLES['COMPANY_NAME']))
document.append(Spacer(1, 5))
charges.append(comp[i][0])
charges.append(comp[i][1])
charges.append(comp[i][2])
charges_table = LongTable([fields] + charges, colWidths=(30,150,100))
charges_table.setStyle(TableStyle([
('BACKGROUND', (0, 0), (-1, 0), colors.gray),
('FONTSIZE', (0, 0), (-1, 0), 6),
('GRID', (0, 0), (-1, -1), 1, colors.gray),
('FONTSIZE', (0, 0), (-1, -1), 7),
('TEXTCOLOR',(0,-1),(-1,-1),'#FF4500'),
])
)
charges_table.hAlign = 'CENTER'
document.append(charges_table)