11.3.常见的页面描述语言

发送给打印机的数据必须使用打印机能够理解的语言。这些语言被称为页面描述语言,或称 PDL。

  • ASCII

纯 ASCII 文本是向打印机发送数据的最简单方式。字符与将被打印的内容一一对应:数据中的 A 会在页面上打印出 A。可用的格式化非常少。没有办法选择字体或比例间距。ASCII 的简单性意味着可以直接从计算机中打印出来文本,几乎不需要编码或翻译。打印出来的结果与发送的内容直接对应。

一些便宜的打印机不能打印纯 ASCII 文本。这使得它们更难设置,但通常的打印机还是可以的。

  • PostScript®

PostScript® 几乎与 ASCII 相反。PostScript® 程序不是简单的文本,而是一组绘制最终文件的指令。可以使用不同的字体和图形。然而,这种能力是有代价的。必须编写绘制页面的程序。通常这个程序是由应用软件生成的,所以这个过程对用户来说是不可见的。

廉价的打印机有时会省去 PostScript® 的兼容性,作为一种节约成本的措施。

  • PCL (打印机命令语言)

PCLASCII 的扩展,增加了用于格式化、字体选择和打印图形的转义序列。许多打印机提供 PCL5 支持。有些支持较新的 PCL6PCLXL。这些后来的版本是 PCL5 的超集,可以提供更快的打印。

  • 基于主机

制造商可以通过给打印机配备一个简单的处理器和很少的内存来降低其成本。这些打印机不能够打印纯文本。相反,文本和图形的位图由主机上的驱动程序绘制,然后发送到打印机上。这些打印机被称为基于主机的打印机。

驱动程序和基于主机的打印机之间的通信通常是通过专有的或未记录的协议进行的,这使得它们只能在最常见的操作系统上发挥作用。

11.3.1.将 PostScript® 转换为其他 PDL

许多来自 ports 和 FreeBSD 工具的应用程序会产生 PostScript® 输出。这张表显示了可用于将其转换为其他常见的 PDL 的实用程序。

表 9. 输出 PDL

输出 PDL

由谁产生

说明

PCL or PCL5

print/ghostscript9-base

单色使用 -sDEVICE=ljet4,彩色使用 -sDEVICE=cljet5

PCLXL or PCL6

print/ghostscript9-base

单色使用 -sDEVICE=pxlmono,彩色使用 -sDEVICE=pxlcolor for color

ESC/P2

print/ghostscript9-base

-sDEVICE=uniprint

XQX

print/foo2zjs

11.3.2.摘要

为了实现最简单的打印,请选择支持 PostScript® 的打印机。支持 PCL 的打印机是下一个首选。通过 print/ghostscript9-base,这些打印机可以像原生的 PostScript® 一样使用。直接支持 PostScript® 或 PCL 的打印机几乎都支持直接打印纯 ASCII 文本文件。

行式打印机,如典型的喷墨打印机,通常不支持 PostScript® 或 PCL。print/ghostscript9-base 支持其中一些打印机所使用的 PDL。然而,由于需要传输和打印大量的数据,在这些打印机上打印整个基于图形的页面时往往非常慢。

基于主机的打印机往往更难设置。有些因为有专有的 PDL 而根本无法使用。尽可能避免使用这些打印机。

许多 PDL 的说明见 http://www.undocprint.org/formats/page_description_languages。各种型号的打印机所使用的特定 PDL 可以在 http://www.openprinting.org/printers 找到。