您当前的位置:首页>>技术中心>>数据恢复文章>>正文
 
FreeBSD handbook中文版11 打印(1)基本设置
作者: 来源: 日期:2007-6-19 11:51:15  点击次数:

/bin/cat && printf “\f” && exit 0 
exit 2 
打出了“阶梯效应”。
你的结果可能是这个样子: 
!”#$%&’()*+,-./01234 
“#$%&’()*+,-./012345 
#$%&’()*+,-./0123456 
这时你已经成为因为换行字符冲突而产生的阶梯效应受害者。UNIX 风格的操作系统只使用ASCII 码10,line feed (LF) 作为换行字符。MS-DOS、OS/2 以及其它的操作系统使用
两个字符ASCII 码10 以及ASCII 码13 (称做carriage return 或CR)。很多打印机使用MS-DOS 的表示法来代表换行字符。当你用FreeBSD 打印时,你的文件只用line feed 字符换

行。当打印机看到一个line feed 字符时,将纸卷了一行,仍然从同一个位置继续往后打印。这就是为什么要用carriage return 字符的原因:将下一个字的打印位置移到纸张的

最左边。
FreeBSD 希望你的打印机可以: 
打印机收到CR 打印机打印CR 
打印机收到LF 打印机打印CR + LF 
有一些方法可以达到这个目地: 
1. 用打印机上的开关或控制面板设置这些字符的处理方式。请查阅你的打印机手册并做正确的设置。
注意: 如果你的计算机安装了除了FreeBSD 外的操作系统,你也许得常常重新设置打印机处理CR 和LF 的设置。因此,你可能会希望使用下面其中之一的方
第19 页FreeBSD 使用手册法: 
2. 让FreeBSD 的串口驱动程序自动将LF 转换成CR+LF。当然,你的打印机只能在串行口上。如果要打开这个功能,只要在/etc/printcap 设置文件里为你的打印机用fs 关键词设
置CRMOD 这个位即可。
3. 送一个句柄给打印机告诉它暂时把LF 字符做额外的处理。请参阅你的打印机手册以了解你的打印机是否支持此功能。如果你找到适用的句柄,修改你的文字过滤程序先送出这

些句柄,再送出要打印的工作。下面这个文字过滤程序的例子是使用Hewlett-Packard PCL 句柄。先让打印机将LF 视为LF 和CR 处理,再送出工作。最后,再送出将整页送出的句

柄。这个过滤程序应该可以应付大部分Hewlett-Packard 的打印机。
#!/bin/sh 

# hpif - Simple text input filter for lpd for HP-PCL based printers 
# Installed in /usr/local/libexec/hpif 

# Simply copies stdin to stdout. Ignores all filter arguments. 
# Tells printer to treat LF as CR+LF. Ejects the page when done. 
printf “\033&k2G” && cat && printf “\033&l0H” && exit 0 
exit 2 
而下面这个/etc/printcap 的例子是设置一台叫做orchid 计算机。它在第一个并口连接了一台叫做teak 的Hewlett-Packard LaserJet 3Si 打印机。同时,它使用了上述的script

 
作为它的文字过滤程序: 

# /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: 
第20 页每一行都重迭在一起
打印机从不换行,把每一行都印在同一行上。这个问题和上述的阶梯效应“相反”。而且也较罕见。FreeBSD 用来换行的LF 字符被当成CR 字符使得打印机一直回到纸张的最左边
开始打印但却不换行。使用打印机上的设置开关或是控制面板设置使LF 和CR 字符这样被处理: 
打印机会少打某些字
打印时,打印机在一行之中会少打某些字。这个情况在打印时可能会变得愈来愈严重,有愈来愈多的字打不出来。这是因为打印机接收资料的速度无法跟上计算机通过串行端口送
资料的速度(这个问题在并列端口打印机上应该不会发生)。有两种方式可以解决这个问题:
1. 如果打印机支持XON/XOFF 流量控制,在FreeBSD 里可以用fs 关键词来设置TANDEM 位。

本新闻共10页,当前在第09页  01  02  03  04  05  06  07  08  09  10  


上一篇:FreeBSD handbook中文版 10 安全
下一篇:FreeBSD handbook中文版11 打印(2)高级打印机设置 A.过滤器
  北京总部: 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聚合 
版权所有 北亚数据恢复中心
全国统一客服热线:4006-505-808
北京总部:北京市海淀区中关村大街11号E世界A座8层832B室