Условный разрыв страницы в reportlab

Я создаю таблицы PDF с помощью Reportlab platypus. Я не знаю, когда страница заполнена из-за динамического контента. Как я могу проверить, если я в конце страницы?

Есть ли в утконосе способ проверки конца страницы?

У меня есть список компаний, и у каждой компании есть несколько бизнес-подразделений со своими расходами.

   companies = [('company1', 'businessunit1', 500),
                ('company1', 'businessunit2',400),
                ('company2', 'businessunit3',200),
                ('company2', 'businessunit4', 700),
                ('company3', 'businessunit5', 800)
               ]

Приведенный выше список должен генерировать 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)
8
задан Asif 2 July 2012 в 12:58
поделиться