制作一份比德国还大的 PDF
一场关于制作“比德国还大的”PDF 页面 的俏皮实验,引发了对 PDF 格式如何编码物理页面尺寸、其真实限制究竟来自哪里,以及这些限制与 Acrobat 或 Preview 等查看器中的约束有何不同的深入讨论。评论者进一步展开到相关技术细节——例如手工制作最小 PDF、交叉引用表的怪癖、安全问题,以及用于操控或净化 PDF 的工具——同时也将 PDF 的设计取舍与 HTML、PNG 以及归档变体 PDF/A 和 PDF/X 进行比较。这个讨论串把 PDF 规范中的数学纠错与冷门细节,与关于 1:1 比例地图、表征哲学,以及尝试打印或利用这类极端文档的实际风险的更宏观反思交织在一起。
整体反响
- 许多读者觉得这个“巨型 PDF”实验既极客又有趣。
- 还有几位分享了相关视频和个人对 необы 常 PDF 的实验(例如嵌入游戏、在 PostScript/PDF 中实现生命游戏)。
地图、尺度与文学类比
- 多位评论者把“比德国还大的页面”这个想法联系到经典的“地图 vs 领土”笑话和文学作品:1:1 比例的地图、空白地图,以及关于给帝国制作地图的思想实验。
- 也有人把这个玩笑延伸到 DIN 纸张尺寸,想象出足以覆盖国家甚至宇宙的 A 系列格式。
PDF 技术细节与限制
- 一个关键澄清是:广为流传的“381 公里”限制是 Adobe Acrobat 的实现限制,而不是 PDF 格式本身固有的限制。
- 多位评论者深入研究了规范:页面的
MediaBox只是由字符串表示的四个数字,没有明确的尺寸上限;实际限制来自阅读器的数值范围(例如 IEEE 754)。 - 讨论了
UserUnit缩放和单位换算错误;文中多处数学错误被指出并更正(百万英寸 vs 十亿英寸、1/72" 的换算、地球—月球距离)。 - 提到了极简“Hello World” PDF 示例,以及关于文本、字体和 xref 表如何工作的评论,包括许多阅读器如何容忍有缺陷的 xref 数据。
- 一些人惊讶于 PDF 在很大程度上是基于文本的,虽然也包含嵌入的二进制流和可选压缩。
安全、恶意软件与工具
- 对 PDF 作为攻击面表示担忧:包括嵌入式活动内容与利用字体/渲染漏洞的构造文件。
- 建议包括专门的分析工具、使用云端渲染、加固版阅读器以及强沙箱隔离。
- 讨论 PDF 到底有多“可执行”,尤其是 JavaScript 以及过去的漏洞利用历史。
实际问题:打印与查看器
- 关于“打印炸弹”的警告和玩笑很多,几位网友讲述了打印队列几乎无法取消、打印机坚持完成超大任务的经历。
- 观察到不同查看器对报告的页面大小或渲染结果差异巨大(例如 Chrome、Preview、Firefox)。
PDF 作为一种格式:优缺点与替代方案
- 有人称赞 PDF(尤其是 PDF/A 或 PDF/X 这类受限配置)是比 SaaS 文档更稳定、由用户掌控的产物。
- 也有人强调提取结构化内容的困难,尤其是段落和表格,并认为 PDF 本质上仍然是印刷/页面描述格式,而不是语义文档格式。