python - 如何在 reportlab,python 中创建具有不同页面大小的 PDF 文档

标签 python pdf reportlab

是否可以在 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/

相关文章:

Python - 获取 URL、解析和打印 PDF

python - 剂量 python 报告实验室有调试日志吗?

python - reportlab - 无法将物理打印页面的上边距设置为零

python - 如何在终端中使用 python 编写多行代码?

python - 文本文件中的整数值未更改

python - 在 atom 中运行 python 脚本时获取用户输入

java - 如何避免PDF添加内容后签名失效?

Python字符串匹配完全等于Postgresql相似度函数

javascript - 在 javascript window.open 上设置选项卡标题以显示 PDF 文件

java - 使用 Java 从多个 PDF 中提取文本