PostScript是一种程序语言,它在一个页面上描述文本和图象。PostScript的命令控制一台激光打印机(或者任何PostScript设备)把一行文本、一个圆、一条贝塞尔曲线或者一幅位图图象放在它指定的地方。Macromedia FreeHand、QuarkXPress和苹果公司的LaserWriter软件及驱动程序把PostScript命令写到磁盘文件中,再把文件送到打印机上。打印机的解释器把PostScript命令读出后,把它们转化成页面上的标记。
Adobe公司最初推出了PostScript代码,随后许多其他公司开发了能够读出PostScript代码的解释器。在过去的几年里,Adobe公司先后发布了三种版本的PostScript语言,它们是PostScript、PostScript Leve1 2和PostScript Leve1 3。但是,今天的许多成像设备只能够处理PostScript Leve1 2命令,只有一些时新的成像设备可以处理PostScript Leve1 3命令(包括能够处理Adobe公司自己的Acrobat PDF文件和打印机自动补漏白功能)。从根本上说,为了能够兼容以前的成像设备,采用PostScript Leve1 3的应用程序和驱动程序很少。
一、页面生成的基本概念
了解PostScript如何生成页面,有助于理解桌面出版应用软件的工作原理,知道输出结果为什么会与预期的结果有差异。PostScript每次描述一个页面的一个对象,可能是一幅图或一些文本。每一个对象压在先前一个对象的上面。例如,在QuarkXPress中创建一个文本框,文本框中有一个实地的白色背景和“照排技术”的字样。当输出的时候,QuarkXPress和LaserWriter驱动程序把上述内容转换成PostScript代码,PostScript文件用白色填充矩形,再把文本放置在上面。如果文本包括字距调整这样的操作,那么PostScript可能每次只放置一个字符。人们通常错误地认为,当一个文本框的背景是空的时候,QuarkXPress页面的输出会花费更多时间。事实上,如果文本框是透明而非是白色的话,唯一的差别是在放置文本之前,PostScript命令不用把文本框填上白色。因此,透明文本框实际输出的速度要快一些。
PostScript是一种非透明的填充成像模式,意思是无论你放置什么样的页面,那么后面放置的页面将完全盖住它下面的页面。例如,如果你用PostScript在页面中描述一个50%的灰度文本框,再把一个灰度为20%的文本框放置在它的上面,那么你不可能获得70%的灰度文本框,而只能看到20%的灰度文本框。
当你在QuarkXPress中把一个柔和的阴影放置在某个对象的上面,你是看不到阴影效果的。因为最上面的图象完全遮住了下面的图象。所以,提供透明效果的任何桌面应用软件在输出时不得不采用一种虚拟方法实现透明效果。
二、例子:将图中的白色框去掉
PostScript实际上是一种很简单的程序语言。你可以用文字编辑器去写或编辑PostScript代码,但不要用Microsoft Word这类文字处理器,因为它有格式化过程。Bare Bones Software公司(http://www.barebones.com/)的BBEdit编辑器效果不错,它还能够让你很快地下载PostScript到打印机上,以便看到结果。
在这里我们讲一个实际中经常碰上的问题。QuarkXPress4.X版本生成的EPS文件稍微不同于以前版本的QuarkXPress,它总会在页面上的最后层留有一个白色的框,而无法将EPS文件放置在其他图象的上面或让背景是透明的,只有通过编辑PostScript代码来解决这个问题。
[时间:2001-09-05 作者:王守鸿 来源:中国印刷]