是否可以在 reportlab 中创建具有不同页面大小的 PDF 文档?
我想创建一个文档,其中第一页的大小与其他页面的大小不同。谁能帮忙?
最佳答案
是的,这应该是可能的,因为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 x 500 pt。
如果您使用的是 PLATYPUS,您应该能够实现同样的事情,但可能需要在 BaseDocTemplate
子类中使用以处理不断变化的页面大小,因为我很确定PageTemplate
机制还不支持这一点,因为每个 PageTemplate
主要是一种改变框架在每个页面上的布局方式的方法。但这在技术上是可行的,只是没有记录,您可能需要花一些时间阅读和理解 PLATYPUS 的内部工作原理。
关于python - 如何在 reportlab,python 中创建具有不同页面大小的 PDF 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882636/