您当前的位置:首页>>技术中心>>数据恢复文章>>正文
 
FreeBSD handbook中文版11 打印(2)高级打印机设置 A.过滤器
作者: 来源: 日期:2007-6-22 12:25:57  点击次数:

#!/bin/sh 

# hpvf - Convert GIF files into HP/PCL, then print 
# Installed in /usr/local/libexec/hpvf 
PATH=/usr/X11R6/bin:$PATH; export PATH 
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \ 
&& exit 0 \ 
|| exit 2 
它先将GIF 格式转成portable anymap,然后再转成portable graymap,接着再转成
portable bitmap,最后再转成与LaserJet/PCL 兼容的资料。
第32 页FreeBSD 使用手册
下面是使用这个过滤程序的/etc/printcap 例子: 

# /etc/printcap for host orchid 

teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ 
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ 
:if=/usr/local/libexec/hpif:\ 
:vf=/usr/local/libexec/hpvf: 
下面的转换用过滤程序是将由grpff 排版系统所产生的troff 资料转成让PostScript 
打印机bamboo 所能打印的格式: 
#!/bin/sh 

# pstf - Convert groff’s troff data into PS, then print. 
# Installed in /usr/local/libexec/pstf 

exec grops | /usr/local/libexec/lprps “$@” 
上面的script 再一次使用lprps 与打印机沟通。如果我们的打印机接在并口上,那么
我们可以用下面这个script 取代上面的script: 
#!/bin/sh 

# pstf - Convert groff’s troff data into PS, then print. 
# Installed in /usr/local/libexec/pstf 

exec grops 
而如果要使这个过滤程序,我们在/etc/printcap 里的设置: 
第33 页FreeBSD 使用手册
:tf=/usr/local/libexec/pstf: 
这里有一个让熟悉FORTRAN 的老手惭愧的例子。这是一个让所有可以打印纯文本的打印
机打出FORTRAN-text 的过滤程序。我们将在teak 这台打印机上安装: 
#!/bin/sh 

# hprf - FORTRAN text filter for LaserJet 3si: 
# Installed in /usr/local/libexec/hprf 

printf “\033&k2G” && fpr && printf “\033&l0H” && exit 0 
exit 2 
我们只要将这个过滤程序在/etc/printcap 文件里指定给teak 这台打印机即可: 
:rf=/usr/local/libexec/hprf: 
最后一个有点复杂的例子。我们要为先前提到的teak 这台打印机新增一个可以将DVI 
转成激光打印机能处理的格式。首先,先修改/etc/printcap 文件中关于DVI 过滤程序的位
置: 
:df=/usr/local/libexec/hpdf: 
然后,我们要做出这个过滤程序。我们需要一个能将DVI 转成激光打印机PCL 格式的程
序。FreeBSD port 里(请参考The Ports Collection 这一节)有一个:dvi2xx 是这个程序的
名称。安装这个程序能提供我们dvilj2p 这个能将DVI 转成LaserJet IIp、LaserJet III 
以及LaserJet 2000 兼容的格式。
dvilj2p 这个程序使得hpdf 这个过滤程序变得十分的复杂,因为dvilj2p 无法从标准
输入取得资料。它得从文件中读资料。最糟糕的是,这个文件还必需以.dvi 结尾,所以用
/dev/fd/0 作为标准输入是不行的。我们可以用symblic link 产生一个暂时的文件名
(以.dvi 结尾)指向/dev/fd/0 ,然后强迫dvilj2p 从标准输入读取资料。
第34 页FreeBSD 使用手册
另一个问题就是我们无法用/tmp 来存放我们暂时的连接。Symbolic links 的使用者及
群组为bin。而过滤程序是以使用者daemon 的身份在执行。又/tmp 目录设置了sticky bit。
因此虽然过滤程序建立了连接,但是因为这个连接属于其它的使用者而无法删除。
因此,过滤程序将会把symbolic link 建立在目前的目录下,也就是spooling 目录(由

本新闻共8页,当前在第6页  1  2  3  4  5  6  7  8  


上一篇:FreeBSD handbook中文版11 打印(1)基本设置
下一篇:FreeBSD handbook中文版11 打印(3)使用打印机
  北京总部: 4006-505-808
  上 海 部: 4006-505-808
  深 圳 部: 4006-505-808
  浙 江 部: 4006-505-808
  广 州 部: 4006-505-808
  重 庆 部: 4006-505-808
  南 京 部: 4006-505-808
  其它地区: 4006-505-808
经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行某省分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-580
北京市海淀区中关村大街11号E世界A座8层832B室