傳送給印表機的資料必須使用印表機能夠理解的語言,這些語言稱為頁面描述語言 (Page Description Languages) 或 PDL。
純 ASCII 文字是傳送資料到印表機最簡單的方式,一個字元對應一個要列印的文字:資料中的 A
會列印一個 A
在頁面。可以使用的格式非常少,沒有辦法選擇字型或者比例間距。強迫使用簡單的純 ASCII 為的是讓文字可以直接從電腦列印只需一點或甚至不需要編碼或轉譯,列印的結果可直接對應傳送的內容。
部份便宜印表機無法列印純 ASCII 文字,這讓這些印表機較難設定。
PostScript® 與 ASCII 幾乎相反,與簡單的文字不同,PostScript® 程式語言有一套指令可以繪出最終所要的文件,可以使用不同的字型與圖形,但是,這樣強大的功能是有代價的,繪製頁面需要搛寫程式語言,通常這個程式語言會由應用程式產生,所以使用者是看不到的。
便宜的印表機有時會移除 PostScript® 的相容性來節省成本。
PCL 由 ASCII 延伸而來,加入了跳脫序列 (Escape sequence) 來標示格式、選擇字型以及列印圖型。大部份印表機都支援 PCL5,少數支援較新的 PCL6 或 PCLXL,這些後來的版本是 PCL5 的超集合 (Superset),並可以提供更快的列印速度。
製造商可能會使用簡單的處理器和較小的記憶體來降低印表機的成本,這些印表機無法列印純文字,相反的,文字與圖形會先在機器上的驅動程式畫完後傳送到印表機。這些稱為以主機為基礎 (Host-based) 的印表機。
驅動程式與以主機為基礎的印表機通訊通常會透過專用或無文件的通訊協定,這讓這些印表機只能在最常用的作業系統上運作。
Port 套件集與 FreeBSD 工具集有許多可以處理 PostScript® 輸出的應用程式,此表整理出了可轉換 PostScript® 成其他常用 PDL 的工具:
輸出 PDL | 產生由 | 說明 |
---|---|---|
PCL 或 PCL5 | print/ghostscript9-base | 單色使用 -sDEVICE=ljet4 、彩色使用 -sDEVICE=cljet5 |
PCLXL 或 PCL6 | print/ghostscript9-base | 單色使用 -sDEVICE=pxlmono 、彩色使用 -sDEVICE=pxlcolor |
ESC/P2 | print/ghostscript9-base | -sDEVICE=uniprint |
XQX | print/foo2zjs |
要可以列印最簡單的方式就是選擇支援 PostScript® 的印表機,再來是支援 PCL 的印表機,有了 print/ghostscript9-base 這些印表機也可像原生支援 PostScript® 的印表機一般使用。有直接支援 PostScript® 或 PCL 的印表機通常也會直接支援純 ASCII 文字檔案。
行列式印表機如同典型的噴墨式印表機通常不支援 PostScript® 或 PCL,這種印表機通常可以列印純 ASCII 文字檔案。print/ghostscript9-base 支援部份這種印表機使用的 PDL,不過要在這種印表機上列印完全以圖型為基礎的頁面通常會非常緩慢,由於需要傳送大量的資料並列印。
以主機為基礎的印表機通常較難設定,有些會因為用了專用的 PDL 而無法使用,盡可能避免使用這類的印表機。
有關各種 PDL 的介紹可至 http://www.undocprint.org/formats/page_description_languages。各種型號印表機所使用的特定 PDL 可至 http://www.openprinting.org/printers 查詢。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。