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

2 FreeBSD handbook中文版 11 打印 高級打印機設(shè)置 A.過濾器( 四 )


件轉(zhuǎn)換成打印機可以處理的 。
這里有一個例子:下面的script 是給Hewlett Packard DeskJet 500 打印機用的文字
過濾程序 。如果是其它的打印機,將gs (Ghostscript)命令的-sDEVICE 參數(shù)換成你能使用
的設(shè)備即可 。(你可以用gs -h 這個命令得到目前系統(tǒng)安裝的Ghostscript 支持哪些設(shè)備) 。
第27 頁FreeBSD 使用手冊
#!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
# Installed in /usr/local/libexec/hpif
#
# Treat LF as CR LF:
#
printf “33&k2G” || exit 2
#
# Read first two characters of the file
#
read first_line
first_two_chars=‘expr “$first_line” : ‘(..)"‘
if [ “$first_two_chars” = “%!” ]; then
#
# It is PostScript; use Ghostscript to scan-convert and print it.
#
# note that PostScript files are actually interpreted programs,
# and those programs are allowed to write to stdout, which will
# mess up the printed output. So, we redirect stdout to stderr
# and then make descriptor 3 go to stdout, and have Ghostscript
# write its output there. Exercise for the clever reader:
# capture the stderr output from Ghostscript and mail it back to
# the user originating the print job.
#
exec 3>&1 1>&2
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500
第28 頁sOutputFile=/dev/fd/3 - && exit 0 ·
#
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- -
&& exit 0
else
#
# Plain text or HP/PCL, so just print it directly; print a form
# at the end to eject the last page.
#
echo $first_line && cat && printf “33&l0H” && exit 0
fi
exit 2
最后,你需要用if 關(guān)鍵詞指定這個過濾程序:
:if=/usr/local/libexec/hpif:
這么一來,你可以輸入lpr plain.text 和lpr whatever.ps 而這兩者應(yīng)該都要可以正
確打印 。
11.4.1.4 轉(zhuǎn)換用的過濾程序
在完成上面簡單的打印機設(shè)置這一節(jié)所介紹的設(shè)置后,下面要做的就是為我們還想要
使用的文件格式(除了ASCII 純文本外)安裝轉(zhuǎn)換用的過濾程序 。
11.4.1.4.1 為什么要安裝轉(zhuǎn)換用的過濾器?
轉(zhuǎn)換用的過濾程序讓打印不同格式的文件變得很簡單 。舉例來說,如果我們常常用TeX
來產(chǎn)生文件,但是我們的打印機是PostScript 的 。因此我們不能直接將由TeX 產(chǎn)生的DVI
文件由打印機打出,而要先轉(zhuǎn)換成PostScript 的格式才能輸出 。這些轉(zhuǎn)換的命令如下:
% dvips seaweed-analysis.dvi
% lpr seaweed-analysis.ps
如果我們安裝了DVI 文件的轉(zhuǎn)換程序,那么我們每次要打印時就可以省去自己轉(zhuǎn)換格式
的動作,而交由LPD 自己轉(zhuǎn) 。因此,我們要打印DVI 文件時只要這一步就可以了:
% lpr -d seaweed-analysis.dvi
FreeBSD 使用手冊
第29 頁FreeBSD 使用手冊
只要在使用LPD 時加上-d 參數(shù),LPD 就會將DVI 文件轉(zhuǎn)換后再正確的打出 。輸出格式及
轉(zhuǎn)換的參數(shù)這一節(jié)里有詳細的列出轉(zhuǎn)換用的參數(shù) 。
對于每一個轉(zhuǎn)換用的參數(shù),我們必需為打印機安裝合適的轉(zhuǎn)換用過濾程序,同時在
/etc/printcap 文件里指定該過濾程序 。轉(zhuǎn)換用的過濾程序和文字過濾程序很相似(請閱讀
安裝文字過濾程序這一節(jié)),除了它不是打印純文本而是將文件轉(zhuǎn)換成打印機可以處理的格
式 。
11.4.1.4.2 我應(yīng)該如何使用轉(zhuǎn)換用的過濾程序?
你應(yīng)該安裝你想使用的轉(zhuǎn)換用過濾程序 。如果你要打印DVI 資料,那么你應(yīng)該要安裝
DVI 過濾程序 。如果你要打印troff 資料,那么你應(yīng)該要安裝troff 過濾程序 。
下面這張表整理出可以配合LPD 工作的過濾程序和它們在要設(shè)置在/etc/printcap 里的
關(guān)鍵詞為何,以及要使用這些過濾程序時在使用lpr 時要加什么參數(shù):
文件格式/etc/printcap 里的關(guān)鍵詞lpr 下的參數(shù)

推薦閱讀