У меня было несколько проблем с reportlab, да, это отличный инструмент для генерации pdf, но в большинстве случаев мне приходилось переопределять функции и создавать подкласс из basedoctemplate.
Что бы я сделал, это создал шаблон страницы которые включают эту информацию, а затем переходят к ней, прежде чем завершить sh документ с помощью Pagebreak ().
class MyDocTemplate(BaseDocTemplate):
def __init__(self, data, filename, **kw):
self.data = data
self.allowSplitting = 0
BaseDocTemplate.__init__(self, filename, **kw)
#Frame bottom, limited to your work area
frame_bottom = Frame(self.leftMargin, self.bottomMargin, self.width/2, self.height/2 - 20*mm,
page_height_landscape - 2 * self.bottomMargin,
id='landscape', showBoundary=0)
# Definicion de templates
template_last_page = PageTemplate('last_page', frames=frame_b,
onPage=lastpage)
После этого вы можете добавить страницу template_last_page к своей работе c. Затем, чтобы добраться до финала документа, используйте метод nextpagetemplate («ваш шаблон»), затем Pagebreak ().
Если вы не используете подклассы из библиотеки, иногда это очень ограничивает. Я купил книгу Reportlab, Reportlab: Обработка с Python, мне очень помогли с такими проблемами.
С уважением.