PrintingUsageHOWTO如何使用打印机-2.打印文档

发表于:2007-07-04来源:作者:点击数: 标签:
本节说明在Linux环境中如何打印文件、检查列印队列、从列印队列删除打印任务、打印前文档排版和设置打印环境等。 2.1Linux打印系统的演变 Linux打印系统-lp系统-是将加利福尼亚大学校方为 UNIX 操作系统的BSD版编写的源代码改编而成。 2.2利用lpr打印文档 到

本节说明在 Linux 环境中如何打印文件、检查列印队列、从列印队列删除打印任务、打印前文档排版和设置打印环境等。 


2.1 Linux 打印系统的演变 

Linux 打印系统 - lp 系统 - 是将加利福尼亚大学校方为 UNIX 操作系统的 BSD 版编写的源代码改编而成。 


2.2 利用 lpr 打印文档 

到目前为止,在 Linux 系统中打印文档的最简单方法就是将文档直接送到打印设备打印。使用 cat 指令就是方法之一。作为 root,发送下列指令就可打印文档: 


# cat thesis.txt > /dev/lp

在这个例子中,/dev/lp 是实际打印设备的符号连接 - 不论打印机是点阵列印机、激光打印机、排版打印机或图表打印机均可使用这个指令。(关於符号连接的进一步说明见 ln(1)) 


由于安全上的考量,只有 root 和属於打印监控程式的同一群组的使用者才可书写到打印机,使打印机进行打印。这就是必需使用 lpr、lprm 和 lpq 等指令才能使用打印机的理由。 

因此,使用者必需使用 lpr 列印文档。lpr 为打印进行所有初始设定,然後将任务交给打印监控程序 - lpd。这个打印监控程序随即告知打印机如何打印文档。 

在 lpr 执行过程中,它首先将有待打印的文档抄到一个目录(假脱机目录),然後让该文档留在该目录中等待 lpd 进行打印。一旦 lpd 得知有文档等待打印,它就自行生成一个备份(编程员称为派生(forking))。这个派生的 lpd 监控程序就会打印有待打印的文档,同时原 lpd 仍继续等待後面可能发出的打印指令。通过这种方式,Linux 系统可同时处理列队打印任务。 


使用 lpr(1) 指令的语法如下: 


$ lpr [ options ] [ filename ... ]
#
# (译注:$ lpr [ 选项 ] [ 文档名 ... ])
#

如果 filename (译注:文档名)没有标示,lpr 认为将由标准输入口(通常为键盘或另一程式的输出)提供输入。通过这种方法,使用者可将一个程式的输出导入打印假脱机程序。例如, 


$ cat thesis.txt | lpr

或 


$ pr -l60 thesis.txt | lpr

均把运行的结果导入打印机印出。 

lpr 指令还接受各种打印选项参数,使使用者能控制打印方式。最常用的选项参数有: -Pprinter 指明用何种打印机、-h 不印突发错页、-s 建立符号连接,并且不将文档抄到假脱机目录(便于处理长文档)和 -#num 标明打印份数。具体使用 lpr 的例子如下: 


$ lpr -#2 -sP dj thesis.txt

这个指令会在假脱机目录内为称为 dj 的打印机建立一个连接 thesis.txt 文档的符号连接,然後由 lpd 对其进行打印。印完之後,它还会再打印一次 thesis.txt (译注:共印两份)。 

关於 lpr 使用的所有选项参数,见 lpr(1)。 


2.3 利用 lpq 察看打印队列 

使用 lpq 指令可察看当前的打印队列。如直接使用指令,不加选项参数,可察看默认打印机的打印队列情况。 


lpq 的结果有许多用途。 


$ lpq
lp is ready and printing (译注:打印机准备打印,下面列出打印信息)
Rank   Owner      Job  Files                            Total Size
active mwf        31   thesis.txt                       682048 bytes


2.4 利用 lprm 取消打印任务 

对任何一个打印系统而言,都需要有一个取消打印任务的工具软件。在 Linux 系统中,可用 lprm。 


$ lprm -

上述指令取消使用者发出的所有打印指令。如果只要取消一个打印任务,可用 lpq 查明打印任务编号,然後将该编号作为参数用于 lprm 指令。例如: 


$ lprm 31

取消默认打印机第 31 号打印任务 (thesis.txt)。 


2.5 利用 lpc 控制 lpd 程序 

lpc(8) 程式用来控制 lpd 提供打印的打印机。通过 lpc 程式可控制打印机的打印功能、打印任务列队、重新安排列队次序和提供打印机和列队状况。 lpc 多数用于设置系统时一机配置多打印机的情况。 


$ lpc

上述指令启动 lpc 程式。在不设置任何参数的情况下,这使用户进入互动模式,此後可开始输入指令。使用 lpc 的另一个方式是从指令行输入参数。 


$ lpc status all

所有可用的指令均在 lpd 的使用说明(man page)内可以查到。此处列出一些主要指令。指令中作为 选项 列出的部分可以是打印机名(lp、print 等)或关键字 all,此处表示所有打印机。 


disable 选项 - 不让打印机再接受新的打印任务 
down 选项 - 停止打印机的一切打印 
enable 选项 - 允许打印任务进入打印列队 
quit (或 exit) - 停止 lpc 运行 
restart 选项 - 重新开始打印机的 lpd 
status 选项 - 印出打印机的机况 
up 选项 - 重新起始并开始新的 lpd 

2.6 RedHat 的打印工具(printtool) 
RedHat 的 printtool 是一个非常好用的工具。它几乎无所不能。下文说明如何通过 RedHat 4.0 在并联埠接连 HP LJ 4L 的方法(此法也可用于其他 RedHat 版本)。 


以 root 身份登录,并启动 printtool (如果作为 su ,还记得 SETENV DISPLAY :0.0 和 xhost + 吗?) 
按 "Add",然後在本地打印机项按 "OK" 
填入打印机名称 (如 /dev/lp1) 
填入参数 - 选择打印机种类、分辨率和纸张大小 (ljet4、300x300 和 信纸尺寸) 
按 "OK" 一直到底,重新启动 lpd。 
利用这种方法可为一台打印机设定多种打印方式,例如为各种打印设定不同的纸张尺寸、分辨率等。 



--------------------------------------------------------------------------------

原文转自:http://www.ltesting.net