linux下打印机的原理与打印流程

来源:互联网 发布:短域名批量生成 编辑:程序博客网 时间:2024/04/23 19:48
Linux打印原理
在Linux下采用假脱机(spooling)打印方法,当用户需要打印一个文件时,该文件并不直接送到打印机,而是送到spool目录下,然后由一个负责打印的后台进程把这些数据送入打印机。
Linux对每台打印机都定义了一个打印缓冲区,打印机守护程序经常扫描打印缓冲区以查看有无要打印的新文件。如果存在,就按先进先出的顺序打印缓冲区中的文件。
Linux系统除了可以在本地打印机上打印外,还可以通过网络打印机远程打印。

Linux系统上的打印原理如下:


各种类型的文档经由一个(或一些)转换程序转换成用户正在使用的打印机可以认识的格式,即用各种类型的打印机语言描述的流,系统将这个流直接发送到打印机端口,由打印机对其进行解释并形成硬拷贝。
目前大多数Linux系统以下面的流程来实现文档到打印机语言的转换:



普通文本文件和各种类型的图形由适当的转换程序转换成PostScript文件,有些应用程序将其输出直接写成PostScript文件,这些PostScript文件经由一个作为打印机过滤器的应用程序Ghostscript转换成打印机语言。因此,如果系统的打印系统已经配置成使用Ghostsript作为打印过滤器,应用程序要实现的就是输出合乎程序要求和语法的PostScript文件。

linux打印流程


在打印过程中,通常是应用程序产生输出并以管道的方式传送给lpr或者直接应用lpr打印一个文件。lpr与打印机后台服务程序通过网络进行连接并进行通信,传送相应的打印数据和打印选项。打印机后台服务程序将在相应的spooler目录存储打印信息,在输出设备可以利用的情况下将打印任务送给打印设备。

0 0