Как создать 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 pt на 500 pt.
если вы используете утконоса вы должны быть в состоянии достичь того же рода вещи, но, вероятно, потребуется получить фантазии в BaseDocTemplate
подклассе для обработки изменение размеров страниц, так как я уверен, что PageTemplate
машины еще не поддерживают это, так как каждый PageTemplate
в основном это способ изменения того, как фреймы выложены на каждой странице. Но это технически возможно, это просто не документировано, и вам, вероятно, придется потратить некоторое время на чтение и понимание того, как утконос работает внутри.