2 FreeBSD handbook中文版 11 打印 高级打印机设置 B.Header

=============================================================
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;“33&k2G”;||;exit;2;
第39;页FreeBSD;使用手册
exec;/usr/libexec/lpr/lpf;
我们用of;关键词来指定输出用过滤程序的路径 。请阅读输出用的过滤程序这一节以
取得更多的信息 。
下面是一个为我们先前提到的打印机teak;在teak;文件里设置要打印header;pages;及输
出用过滤程序的例子:;
#;
#;/etc/printcap;for;host;orchid;
#;
teak|hp|laserjet|Hewlett;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 。如果使用者们
愿意花时间自己找出自己打出的东西,那么它们可以用lpr;-h;命令设置不打出header;pages;;
请阅读Header;Page;参数以得知更多lpr;的参数 。
注意:;LPD;打完header;page;后会送出form;feed;字符 。如果你的打印机送出纸张的命令
不是用这个字符,你可以在/etc/printcap;文件中用ff;关键词指定 。
11.4.2.2;控制header;pages;
如果选择要打印header;pages,LPD;将会产生出long;header,这将使用者、机器以及工
作名称以大字打印在一整页上 。这里有一个例子(kelly;从rose;这台印机打印outline;这个工
作):;
k;ll;ll;
k;l;l;
k;l;l;
k;k;eeee;l;l;y;y;
k;k;e;e;l;l;y;y;
k;k;eeeeee;l;l;y;y;
kk;k;e;l;l;y;y;
第40;页ll;
FreeBSD;使用手册
k;k;e;e;l;l;y;yy;
k;k;eeee;lll;lll;yyy;y;
y;
y;y;
yyyy;
t;l;i;
t;l;
oooo;u;u;ttttt;l;ii;n;nnn;eeee;
·;o;u;u;t;l;i;nn;n;e;e;
·;o;u;u;t;l;i;n;n;eeeeee;
·;o;u;u;t;l;i;n;n;e;
·;o;u;uu;t;t;l;i;n;n;e;e;
oooo;uuu;u;tt;lll;iii;n;n;eeee;
r;rrr;oooo;ssss;eeee;
rr;r;o;o;s;s;e;e;
r;o;o;ss;eeeeee;
r;o;o;ss;e;
r;o;o;s;s;e;e;
r;oooo;ssss;eeee;
Job:;outline;
Date:;Sun;Sep;17;11:04:58;1995;
LPD;在打印完这些后会送出form;feed;字符,使得真正的打印工作会以新的一页开始打
印(除非你在/etc/printcap;文件为指定的打印机设置了sf;(supress;form;feeds)) 。

推荐阅读