理论上最大的PDF文件比德国大,这是真的吗?

薛定谔家有肥猫 2024-02-12 04:44:51

互联网上都流言之一是“最大页面尺寸的PDF文件超过了德国的土地面积”。 软件开发人员 Alex Ulchan 解释了这是否真的如此。

Making a PDF that’s larger than Germany – alexwlchan

https://alexwlchan.net/2024/big-pdf/

有问题的流言是有人认为,理论上最大的PDF文件将是381平方公里,比德国的面积还要大。 但是,这种说法没有任何支持或解释,我们不知道为什么会有381平方公里是上限。

有人指出,它“源于PDF文件阅读器的上限”,并引用了Adobe Acrobat规范,称“Adobe Acrobat对它可以处理的最大尺寸施加了1500万英寸×1500万英寸或225万亿平方英寸(381公里×381公里或145,161平方公里)的限制,所以会出现这样的数字“。事实上,PDF 1.6 规范中似乎也写了同样的内容。

虽然知道最大尺寸的PDF文件似乎超过了德国,但Alex决定尝试一下“381平方公里”是否真的是最大的。

首先,Alex学习了PDF文件的内部结构,并了解了如何直接编辑PDF,他明白了决定页面大小的是“Page”对象。

例如,如果在 Page 对象中指定“/MediaBox [0 0 300 300]”,则文件尺寸将为 300×300 个正方形。 默认单位大小为 1/72,因此一页为 300×72 = 4.17 英寸(10.59 厘米)。 您可以更改此“MediaBox”的数量以使页面更大。

但是,如果将 MediaBox 的值提高到 14,400 × 14,400(这是 Adobe Acrobat 允许的最大值),则页面将显示为 200.00 × 200.00 英寸,如果您尝试超过此限制,将触发警告。 而200英寸只有5米,与381公里相去甚远。

根据 Alex的说法,这是因为它使用的默认单位是 1/72 英寸,通过更改 UserUnit 的值,可以增加单位并打破限制。 然而,当 Alex将其提高到 75000(即 UserUnit 的最大值)时,Adobe Acrobat 显示页面的大小变成了 150 亿英寸× 150 亿英寸(381 公里× 381 公里),如果您尝试通过增加 or 值来创建具有较大尺寸的页面,Acrobat 只会忽略它。它一直说页面的大小是 1500 万英寸,即使页面元数据说它更高,也不会改变“150 亿英寸”的显示。

因此,Alex生使用了对 MediaBox 没有上限的 macOS 应用程序“Preview.app”。 当尝试疯狂地增加尺寸时,似乎能够创建一个页面大小为 35,277,777,777.78 厘米× 10.59 厘米的文件。 这个宽度大约等于地球和月球之间的距离。

这个数字仍然可以放大,似乎可以创建一个大约37万亿光年见方(1光年约9.5万亿公里)的PDF。 这个文件可以从Alex博客的链接访问,但Alex提醒:“请不要打印。”

0 阅读:0

薛定谔家有肥猫

简介:感谢大家的关注