Как создать PDF-документ с разными размерами страниц в reportlab, python
Возможно ли создать PDF-документ с разными размерами страниц в Reportlab?
Я хотел бы создать документ, где первая страница имеет другой размер, чем другие страницы. Может ли кто-нибудь помочь?
Ответ 1
Да, это должно быть возможно, поскольку PDF поддерживает это, это просто вопрос о том, как это сделать в ReportLab. Я никогда не делал этого, но следующее должно работать:
c = reportlab.pdfgen.canvas.Canvas("test.pdf")
# draw some stuff on c
c.showPage()
c.setPageSize((700, 500)) #some page size, given as a tuple in points
# draw some more stuff on c
c.showPage()
c.save()
И ваш документ должен теперь иметь две страницы: одну с страницей размера по умолчанию и страницу со страницей размером 700 пт на 500 пт.
Если вы используете PLATYPUS, вы должны быть способны достичь такого же уровня, но, вероятно, вам понадобится приходить в подкласс BaseDocTemplate для обработки изменяющихся размеров страниц, так как я уверен, что механизм PageTemplate 't уже поддерживает это, так как каждый PageTemplate является главным образом способом изменения способа размещения кадров на каждой странице. Но это технически возможно, оно просто не документировано, и вам, вероятно, придется потратить некоторое время на чтение и понимание того, как PLATYPUS работает внутри.