是否创建大于5080x5080的pdf?

是否创建大于5080x5080的pdf?,pdf,python-3.5,reportlab,Pdf,Python 3.5,Reportlab,是否可以创建大于5080x5080的pdf Reportlab似乎仅限于5080x5080 以下是一个例子: from reportlab.lib.units import mm from reportlab.pdfgen import canvas pdf = canvas.Canvas("eg.pdf", pagesize = (10000 * mm, 10000 * mm)) pdf.showPage() pdf.save() 此代码仅创建一个5080x5080pdf 对于我目前正在进

是否可以创建大于
5080x5080
的pdf
Reportlab似乎仅限于
5080x5080

以下是一个例子:

from reportlab.lib.units import mm
from reportlab.pdfgen import canvas

pdf = canvas.Canvas("eg.pdf", pagesize = (10000 * mm, 10000 * mm))
pdf.showPage()
pdf.save()
此代码仅创建一个
5080x5080
pdf
对于我目前正在进行的项目,我需要更大的pdf文件,最大可达3000万(30000*mm)

那么问题是有办法解决吗

我正在使用Python 3.5.2和Windows 10。

经过“几个”小时的研究,我找到了这些链接

所以问题出在我使用的阅读器上
一旦切换到,我就可以看到生成的文件,正如预期的那样
所以上面的代码是正确的


不过我还是要感谢你们的快速评论,尤其是

你们想创建一个边长超过5米的PDF吗?我并不奇怪它在这方面遇到了麻烦。软件施加一些合理的限制并不少见。你能用Adobe的工具制作一个更大的PDF吗?过去有14400个用户单位的限制;看见这是Adobe Reader中的一个实现限制;其他查看器将显示较大的文档。当PDF成为ISO标准(ISO-32000-2是最新版本)时,该限制被取消。一些查看器可能仍然有实现限制,但没有任何东西阻止您创建这样的PDF。默认情况下,一个用户单位等于1 pt,因此旧的14400 x 14400用户单位限制对应于200 x 200英寸。然而,也有用户单元的概念(参见)。用户单位的最大值为75000。这意味着你可以创建一个尺寸为15m×15m英寸,或者381平方公里的PDF(是的,这不是一个打印错误:我说的是公里)。如果你认为这没有意义,那就考虑PDF不再意味着要在数字时代打印。在工程环境中创建这样的PDF是有意义的(比如大型建筑项目的蓝图)。页面的大小不应该对文档的处理方式有任何影响。在我们的编程语言中,我们将该大小存储为
int
long
double
float
,这一事实造成了限制。打开一个面积为381平方公里的页面的文件比打开一个包含一百万个对象的大小为字母的页面的文件要容易。现在这将是一个问题。我希望这是对你的评论的一个全面的回答,@markransem“所以问题出在我使用的读者身上”——这是错误的。PDF规范明确指出,以阅读器支持的默认用户单位为单位的页面大小可能会限制在给定的大小,并且您已经超过了该限制。如果想要制作更大的PDF,应该改变用户单元的大小。标准中也描述了这一点,如果您这样做,Adobe Reader会很高兴地显示更大的PDF页面。因此,问题在于PDF生成器以PDF查看器不需要支持的方式创建了较大的PDF页面大小。@mkl根据Bruno Lowagie的评论,显然PDF规范正在随时间而变化。最可靠的解决方案是按照您的建议更改单元大小,但您知道如何在
reportlab
中执行此操作吗?如果是这样的话,你应该留下一个答案,我会亲自投票表决。我快速浏览了一下文档,没有发现任何东西。