日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

2 FreeBSD handbook中文版 11 打印 高級打印機(jī)設(shè)置 B.Header( 三 )


#;whatever;size;paper;you;are;using:;
#;
page_width=612;
page_height=792;
border=72;
#;
第43;頁if;[;$#;-ne;3;];;then;
exit;1;
fi;
#;
#;
user=$1;
host=$2;
job=$3;
date=‘date‘;
#;
#;
exec;cat;<%!PS;
%;
%;
save;
%;
%;
$border;$border;moveto;
FreeBSD;使用手冊
echo;“Usage:;‘basename;$0‘;;;”;1>&2;
#;Save;these,;mostly;for;readability;in;the;PostScript,;below.;
#;Send;the;PostScript;code;to;stdout.;
%;Make;sure;we;do;not;interfere;with;user’s;job;that;will;follow;
%;Make;a;thick,;unpleasant;border;around;the;edge;of;the;paper.;
$page_width;$border;2;mul;sub;0;rlineto;
0;$page_height;$border;2;mul;sub;rlineto;
第44;頁%;
%;
($user);show;
%;
%;
/y;200;def;
[;(Job:);(Host:);(Date:);];{;
forall;
/y;200;def;
[;($job);($host);($date);];{;
FreeBSD;使用手冊
currentscreen;3;-1;roll;pop;100;3;1;roll;setscreen;
$border;2;mul;$page_width;sub;0;rlineto;closepath;
0.8;setgray;10;setlinewidth;stroke;0;setgray;
%;Display;user’s;login;name,;nice;and;large;and;prominent;
/Helvetica-Bold;findfont;64;scalefont;setfont;
$page_width;($user);stringwidth;pop;sub;2;div;$page_height;200;sub;moveto;
%;Now;show;the;boring;particulars;
/Helvetica;findfont;14;scalefont;setfont;
200;y;moveto;show;/y;y;18;sub;def;};
/Helvetica-Bold;findfont;14;scalefont;setfont;
270;y;moveto;show;/y;y;18;sub;def;
};forall;
%;
%;That;is;it;
%;
restore;
第45;頁showpage;
EOF;
現(xiàn)在,每個轉(zhuǎn)換用過濾程序以及文字過濾程序可以在打印前先呼叫這個script;打印出
FreeBSD;使用手冊
header;page;然后再打印工作的內(nèi)容 。我們修改之前提過的DVI;轉(zhuǎn)換用過濾程序使它可以打
印header;page:;
#!/bin/sh;
#;
#;psdf;-;DVI;to;PostScript;printer;filter;
#;Installed;in;/usr/local/libexec/psdf;
#;
#;Invoked;by;lpd;when;user;runs;lpr;-d;
#;
orig_args=”$@”;
fail();{;
echo;“$@”;1>&2;
exit;2;
};
while;getopts;“x:y:n:h:”;option;;do;
case;$option;in;
x|y);;;;#;Ignore;
n);login=$OPTARG;;
h);host=$OPTARG;;
*);echo;“LPD;started;‘basename;$0‘;wrong.”;1>&2;
exit;2;

esac;
done;
[;“$login”;];||;fail;“No;login;name”;
第46;頁FreeBSD;使用手冊
[;“$host”;];||;fail;“No;host;name”;
(;/usr/local/libexec/make-ps-header;$login;$host;“DVI;File”;
/usr/local/bin/dvips;-f;);|;eval;/usr/local/libexec/lprps;$orig_args;
注意這個過濾程序如何從參數(shù)中取出使用者名稱及機(jī)器名稱 。雖然這個過濾程序使用了
一些不同的參數(shù)(請閱讀過濾程序的運(yùn)作方式這一節(jié)),不過同樣的技巧也可以應(yīng)用在其它
不同的過濾程序上 。
不過就如我們前面所提到的,這個方式雖然很簡單,但是卻讓lpr;命令無法“不打印
header;page”(即-h;參數(shù)無效) 。如果使用者想要少花些錢(如果打印header;pages;要收費(fèi)的
話),那么它們將無法做到 。因?yàn)槊總€過濾程序都會為每個工作打印header;page 。
如果要允許使用者可以自己選擇是否打印header;pager,你得使用統(tǒng)計(jì)打印Header;
Pages;這里介紹的技巧:寫一個可以判斷由LPD;產(chǎn)生的header;page;的輸出用過濾程序,并
由它輸出PostScript;打印機(jī)可以處理的資料 。這么一來,如果使用者以lpr;-h;送出工作,;
LPD;將不會產(chǎn)生header;page,且你的輸出用過濾程序也不會 。否則,你的輸出用過濾程序
將要根據(jù)LPD;送出的資料然后以適當(dāng)PostScript;碼將header;page;送給打印機(jī)處理 。
如果你的PostScript;打印機(jī)是接在串行端口上,那么你可以使用lprps;里提供的輸出用
過濾程序,psof,這個過濾程序會做上述的動作 。注意,;psof;這個過濾程序?qū)⒉粫閔eader;
pages;計(jì)費(fèi) 。
11.4.3;網(wǎng)絡(luò)打印

推薦閱讀