FreeBSD handbook中文版 11 打印 (2)高级打印机设置 B.Header(1) ============================================================= 11.4 高级打印机设置 ============================================================= 11.4.2 Header Pages 如果你有很多使用者使用不同的打印机,那么你也许会觉得需要打印header pages。 Header pages,也称做banner 或burst pages,是用来辨认打出来的工作是属于谁的。通 常header pages 以粗体的大字,可能再加上外框打出来的,如此,使用者才能快速的在一堆 打出的结果找到属于自己的部分。不过header page 的缺点就是每个工作都会多使用一张纸 来打印header page。它的功用可能不会超过一分钟,而最后的下场都是丢进资源回收箱或是 垃圾筒。(不过header pages 是一份工作一张,而不是一个文件一张,所以纸张的浪费可能没 有你想象的那么严重)。 如果你的打印机可以直接打印纯文本的话,那么LPD 可以自动为你的输出加上header pages。如果你的打印机是PostScript 的,那么你将会需要额外的程序来产生header page;请 阅读在PostScript 打印机上打印Header Pages 这一节。 11.4.2.1 启用header pages 在简单的打印机设置这节里,我们在/etc/printcap 文件里利用设置sh 以不打印header page (sh 即“suppress header”的意思)。如果某一台打印机要打印header pages 的话,那么只 要将sh 关键词删除就行了。 看起来是不是很简单? 没错。你也许需要提供一个输出用过滤程序将初始化句柄送给打印机。下面是一个适用 于Hewlett Packard PCL 兼容打印机使用的输出用过滤程序: #!/bin/sh # # hpof - Output filter for Hewlett Packard PCL-compatible printers # Installed in /usr/local/libexec/hpof printf “\033&k2G” exit 2 第39 页FreeBSD 使用手册 exec /usr/libexec/lpr/lpf 我们用of 关键词来指定输出用过滤程序的路径。请阅读输出用的过滤程序这一节以 取得更多的信息。 下面是一个为我们先前提到的打印机teak 在teak 文件里设置要打印header pages 及输 出用过滤程序的例子: # # /etc/printcap for host orchid # teakhplaserjetHewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/hpif:\ :vf=/usr/local/libexec/hpvf:\ :of=/usr/local/libexec/hpof: 现在,当使用者用teak 打印时,它们每个工作都会有一张header page。如果使用者们