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

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


#
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
現在,每個轉換用過濾程序以及文字過濾程序可以在打印前先呼叫這個script 打印出
FreeBSD 使用手冊
header page 然后再打印工作的內容 。我們修改之前提過的DVI 轉換用過濾程序使它可以打
印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
注意這個過濾程序如何從參數中取出使用者名稱及機器名稱 。雖然這個過濾程序使用了
一些不同的參數(請閱讀過濾程序的運作方式這一節(jié)),不過同樣的技巧也可以應用在其它
不同的過濾程序上 。
不過就如我們前面所提到的,這個方式雖然很簡單,但是卻讓lpr 命令無法“不打印
header page”(即-h 參數無效) 。如果使用者想要少花些錢(如果打印header pages 要收費的
話),那么它們將無法做到 。因為每個過濾程序都會為每個工作打印header page 。
如果要允許使用者可以自己選擇是否打印header pager,你得使用統(tǒng)計打印Header
Pages 這里介紹的技巧:寫一個可以判斷由LPD 產生的header page 的輸出用過濾程序,并
由它輸出PostScript 打印機可以處理的資料 。這么一來,如果使用者以lpr -h 送出工作,
LPD 將不會產生header page,且你的輸出用過濾程序也不會 。否則,你的輸出用過濾程序
將要根據LPD 送出的資料然后以適當PostScript 碼將header page 送給打印機處理 。
如果你的PostScript 打印機是接在串行端口上,那么你可以使用lprps 里提供的輸出用
過濾程序,psof,這個過濾程序會做上述的動作 。注意,psof 這個過濾程序將不會為header
pages 計費 。
11.4.3 網絡打印
FreeBSD 支持網絡打?。簩⒐ぷ魉徒o遠程的打印機處理 。網絡打印有兩大類型:
1. 訪問遠程機器所安裝的打印機 。你在某一臺機器上的串口或并口上接了一臺打印機,然

推薦閱讀