| FreeBSD handbook中文版11 打印(2)高级打印机设置 A.过滤器 |
 |
作者: 来源: 日期:2007-6-22 12:25:57 点击次数: |
|
/etc/printcap 文件中的sd 关键词所指定)。这是让过滤程序来做这件事最好的地方,因为 (通常)这里的可用空间会比/tmp 下来得多。 所以,这个过滤程序应该要这么写: #!/bin/sh # # hpdf - Print DVI data on HP/PCL printer # Installed in /usr/local/libexec/hpdf PATH=/usr/local/bin:$PATH; export PATH # # Define a function to clean up our temporary files. These exist # in the current directory, which will be the spooling directory # for the printer. # cleanup() { rm -f hpdf$$.dvi } # # Define a function to handle fatal errors: print the given message # and exit 2. Exiting with 2 tells LPD to do not try to reprint the # job. # 第35 页FreeBSD 使用手册 fatal() { echo “$@” 1>&2 cleanup exit 2 } # # If user removes the job, LPD will send SIGINT, so trap SIGINT # (and a few other signals) to clean up after ourselves. # trap cleanup 1 2 15 # # Make sure we are not colliding with any existing files. # cleanup # # Link the DVI input file to standard input (the file to print). # ln -s /dev/fd/0 hpdf$$.dvi || fatal “Cannot symlink /dev/fd/0” # # Make LF = CR+LF # printf “\033&k2G” || fatal “Cannot initialize printer” # # Convert and print. Return value from dvilj2p does not seem to be # reliable, so we ignore it. 第36 页# dvilj2p -M1 -q -e- dfhp$$.dvi # # Clean up and exit # cleanup exit 0 11.4.1.4.5 自动转换:用过滤程序转换外的另一种选择 上面这些过滤程序完整地建立了你的打印环境,但是使用者们必需自己决定要使用哪一 个过滤程序(对lpr 命令下的参数)。如果你的使用者们并不擅长于使用计算机,要它们自己 选择适当的过滤程序来使用可能会造成它们的困扰。更严重的是,万一使用到不正确的过滤 程序来转换格式,那么可能会让你的打印机浪费许多不必要纸。 除了安装所有的转换用过滤程序外,你也许会想要试试文字过滤程序(默认的过滤程序) 自动扫描要打印的文件格式,同时自动呼叫其它的转换用过滤程序做适当的转换。像file 这样的工具对于这方面可能对这会有些帮助。然而,要区分出某些文件格式可能会有点困难 —当然,你也可以提供专门转换这些格式的过滤程序。 FreeBSD ports 里有一个叫做apsfilter 的文字过滤程序可以做文件类型的自动扫描及 转换。它可以分辨出纯文本、PostScript 以及DVI 文件,然后做适当的格式转换后再打出。 11.4.1.5 输出用的过滤程序 LPD spooling 系统还支持一种我们还未介绍的过滤程序:输出用过滤程序。输出用过滤 程序和文字过滤程序一样,只有打印纯文本才使用的,但是它简单多了。如果你用了输出用 过滤程序但是没有用文字过滤程序,那么: 1. LPD 在一份工作里将只执行一次输出用过滤程序,而不是为每一个文件都执行一 次。 2. LPD 不会提供任何辨认文件开始或结束的信息给输出用的过滤程序。 FreeBSD 使用手册 第37 页FreeBSD 使用手册 3. LPD 不会将使用者的帐户及机器名称传给过滤程序,因此它不能做统计的动作。事 实上,它只有得到两个参数: filter-name -wwidth -llength 其中width 是由打印机设置里的pw 关键词所设置的,而length 是由pl 关键词所设置 上一篇:FreeBSD handbook中文版11 打印(1)基本设置 下一篇:FreeBSD handbook中文版11 打印(3)使用打印机 |
|
|
 |
| 北京总部: 4006-505-808 |
| 上 海 部: 021-58358765 |
| 深 圳 部: 0755-83692929 |
| 浙 江 部: 13666673722 |
| 广 州 部: 020-83821091 |
| 重 庆 部: 023-86870422 |
| 昆 明 部: 15987117834 |
| 哈尔滨部: 13946167430 |
| 其它地区: 4006-505-808 | | | |
|
 |
|