我今天早上提交了一篇期刊论文,他们要求我附上一个 PDF 文件(这是我所期望的)和一个 Postscript (PS) 文件。
生成 PS 文件被证明更加困难,因为一些我总是用来编译的 LaTeX 命令pdflatex
无法编译latex
(特别是包括图形)。
我最终将 PDF 转换为 PS 文件,但得到的文件大小却是原来的 4 倍(约 20 MB 而不是 5 MB)。
而且似乎用任何现代阅读器打开 Postscript 文件都要花更长的时间,因为它必须“转换”(可能是编译?或解释?)该文件。
我很好奇——Postscript 现在有什么用处?与更现代、使用更广泛的 PDF 相比,它有什么优势吗?
答案1
Postscript 仍被用作中间文档格式,因为它是一种功能齐全的编程语言,允许您计算图形,而 PDF 则不可以。PDF 仅显示 Postscript 能够执行的计算的结果(经过一些转换,有时称为“蒸馏”)。
基于 Postscript 的 PSTricks 包就是一个大量使用图形计算的例子。它甚至可以解微分方程。如果您有 Postscript 打印机,它可以为您完成这些计算。
编辑,回答丹尼尔斯的评论:
Postscript 之所以成为首选格式,是因为出版商, 是它的可编辑性例如,如果文档中的线条太淡,出版商可能希望在将文档付印之前对其进行整体增强。例如,在这个问题。
使用 Postscript,只需将
userdict /setlinewidth {2 mul systemdict /setlinewidth get exec} put
放入文档页眉。
对于 PDF 来说,这样的调整就复杂得多。
答案2
从出版商的角度来看,我认为,唯一的根本原因是 遗留软件。Postscript 是一个长期存在且被广泛接受的标准。将现有工具链更新为 PDF 需要大量投资。
所以我认为,这都是历史问题。有一篇很棒的问答从技术角度讨论了 Postscript (PS) 和 PDF 之间的根本区别: 根本区别:PSTricks、TikZ/PGF 等,但却忽略了这些技术差异的(历史)意义:
基本上,技术上的区别是:
- PS 是一种(图灵)完备语言,允许将任意计算推迟到渲染时,也就是说,当 PS 文件用过的(即印刷版)。
- 在 PDF 中,所有计算在 PDF 文件被制作。
在当时,PS 模型具有一些明显的优势:
- 在 80 年代,一个像样的工作站 (VAX-11) 每秒能够计算 150 万条指令 (MIPS),并且配备大约 1 MiB 的 RAM。
在这样的系统上以 150x150 dpi 的分辨率渲染整张 A4 页面已经非常困难。而分辨率再高(300x300 或 600x600 dpi)则基本不可能。
然而,即使在那个时候,激光打印机也能够以 200x200 dpi 或更高的分辨率打印页面。
出版商使用的工业印刷机已经能够应对更高的分辨率。
通过将计算密集型部分委托给使用时间,即打印设备,PS 提供了所有这些设备之间的可移植性,并使得即使在经济实惠的计算机上也可以准备高质量的文档。无需为每个工作站配备足够的 RAM 和 CPU 能力来以 200x200 dpi 渲染页面(更不用说存储和传输生成的文档所需的磁盘大小和网络吞吐量),只需一台价值 10,000 美元的激光打印机就可以完成整个部门的工作。如果这本书是专业出版的,那么价值 10,000,000 美元的工业打印机就可以处理相同PS 文档以 1200x1200 dpi 进行渲染。
20 年后,CPU 性能和可用 RAM 容量提高了 4,000 倍。然而,配备 PS 光栅图像处理器 (RIP) 的打印机仍然相对昂贵:
早在 90 年代,“软件 RIP”(例如 ghostscript)就已流行起来。Ghostscript 可在计算机上完成所有渲染,因此,即便在没有硬件 RIP 功能的廉价打印机上,也可以打印 PS 文档。
到了2000年,普通PC和网络的吞吐量已经非常强大,打印前的“软件RIPing”通常比使用打印机的内置RIP要快得多——尤其是在打印复杂的PS文档时。
在同一时期,PDF 开始流行,PS 的重要性也随之上升。这广泛支持的打印机文档标准下降。
答案3
正如您已经体验到的,中等大小的 ps 文件往往会膨胀为巨大的 pdf 文件。这是因为 postscript 是一种通用编程语言,具有巨大的潜力算法压缩。
举一个简单的例子,考虑一张 5 毫米的方格纸。pdf 将包含每条线的端点。然而,在 postscript 中,这可以通过 2 个循环来实现。
转换向后从 pdf 转换回 ps,一般无法利用算法压缩。pdf 必须由一些非常聪明的 AI/专家进行分析。正常的转换只是用 postscript 表示相同的 pdf 结构,这往往更冗长。例如,32 位二进制整数在 pdf 中占用 4 个字节,但在 (ascii) 文本表示中占用 1..14 个字节。
答案4
一个理由我最近了解到你可以生成一个特定于打印机PS 文件(例如通过使用 PDF 阅读器的打印到文件功能),其中已经包含您选择的所有打印机设置,这对于需要不时再次打印的复杂打印作业(例如包含不同但相同尺寸的纸质介质)非常有帮助。