9.3.常见的页面描述语言

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

  • ASCII

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

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

  • PostScript®

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

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

  • PCL(打印机命令语言)

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

  • 基于主机

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

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

9.3.1 将 PostScript® 转换为其他 PDL

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

表1. 输出 PDL

输出 PDL 产生的原因 笔记
PCL or PCL5 print/ghostscript9-base -sDEVICE=ljet4 for monochrome, -sDEVICE=cljet5 for color
PCLXL or PCL6 print/ghostscript9-base -sDEVICE=pxlmono for monochrome, -sDEVICE=pxlcolor for color
ESC/P2 print/ghostscript9-base -sDEVICE=uniprint
XQX print/foo2zjs

9.3.1 摘要

为了实现最简单的打印,请选择支持 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。