- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linuxcups打印系统原理
一、Linux打印1.1 Linux打印简介首先需要了解的是,打印在Unix世界的演化中总是围绕着PostScript页面描述语言展开的。该语言是由Adobe公司开发的,它是一个成熟的、用于描述一个文档每一页面内容的程序语言。它是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。通过PS驱动程序,各种不同的应用软件将各自的数据转换成PostScript格式。如今很多打印机中都有一个嵌入式的PostScript解释器,它负责使用PostScript将页面在打印纸上再现出来。现在,所有桌面Linux应用程序都有一个打印选项,可以生成PostScript数据来打印整页的文档。这种方法和其它面向桌面的操作系统有很大的不同,也正是它让Unix打印落下了不易使用的名声。在Windows和Mac OS中有整合得非常好的API供应用程序使用,通常情况下都可以为打印机提供一个接口,以让应用程序不用关心设备的具备细节。此外,打印API通常也是和图形API整合在一起,并且可用于在屏幕上显示。这其中部分功能已经在X11中实现了。大部分Unix系统是提交任务至队列中,并且希望它能够正确地打印出来。但是并没有一种统一的收集打印机信息或工作状态的方法,这严重影响了那些需要提供打印能力的Linux应用程序。在Linux中,虽然PostScript是产生打印文档的事实上的标准,但打印机本身却并不需要知道PostScript,因为这需要使用到相对比较昂贵的技术。在一般情况下,尤其是在低端打印机中,PostScript数据要被翻译成打印机本地的页面描述语言。这是通过使用一个特殊的转换过滤器来完成的。一般而言,一个过滤器实际上就是一个特殊的程序,它可以处理输入的数据,并且输出经过加工的数据。现在,Linux打印系统中使用着各种不同的过滤器:转换过滤器、I/O过程器(负责将数据传送至设备)、处理过滤器(转换文档数据)。打印系统的基础是一个假脱机程序(Spooler)。它可以管理打印任务队列,而一个队列通常和一个打印机相关联,并且用户提交的任务都是按照先进先出的原则来处理的。当一个打印任务被处理时,任务中的数据在送达打印机前一般都要通过一定数量的过滤器。Unix打印假脱机程序有很多种形式,在此将关注目前在Linux系统中使用广泛的几种形式:(1)BSD LPD打印系统(2)LPRng打印系统(3)通用Unix打印系统(CUPS)1.2 Linux打印原理在Linux下采用假脱机(spooling)打印方法,当用户需要打印一个文件时,该文件并不直接送到打印机,而是送到spool目录下,然后由一个负责打印的后台进程把这些数据送入打印机。Linux对每台打印机都定义了一个打印缓冲区,打印机守护程序经常扫描打印缓冲区以查看有无要打印的新文件。如果存在,就按先进先出的顺序打印缓冲区中的文件。Linux系统除了可以在本地打印机上打印外,还可以通过网络打印机远程打印。Linux系统上的打印原理如下:各种类型的文档经由一个(或一些)转换程序转换成用户正在使用的打印机可以认识的格式,即用各种类型的打印机语言描述的流,系统将这个流直接发送到打印机端口,由打印机对其进行解释并形成硬拷贝。目前大多数Linux系统以下面的流程来实现文档到打印机语言的转换:普通文本文件和各种类型的图形由适当的转换程序转换成PostScript文件,有些应用程序将其输出直接写成PostScript文件,这些PostScript文件经由一个作为打印机过滤器的应用程序Ghostscript转换成打印机语言。因此,如果系统的打印系统已经配置成使用Ghostsript作为打印过滤器,应用程序要实现的就是输出合乎程序要求和语法的PostScript文件。1.3 Linux打印流程在打印过程中,通常是应用程序产生输出并以管道的方式传送给lpr或者直接应用lpr打印一个文件。lpr与打印机后台服务程序通过网络进行连接并进行通信,传送相应的打印数据和打印选项。打印机后台服务程序将在相应的spooler目录存储打印信息,在输出设备可以利用的情况下将打印任务送给打印设备。普通文本文件和各种类型的图形由适当的转换程序转换成PostScript文件,有些应用程序将其输出直接写成PostScript文件,这些PostScript文件经由一个作为打印机过滤器的应用程序Ghostscript转换成打印机语言。因此,如果系统的打印系统已经配置成使用Ghostsript作为打印过滤器,应用程序要实现的就是输出合乎程序要求和语法的PostScript文件。 1.3 Linux打印流程在打印过程中,通常是应用程序产生输出并以管道
您可能关注的文档
最近下载
- 中医气功学导论期末试卷.docx
- 请你谈一下你为什么要加入中国共产党谈谈为什么加入中国共产党.pptx VIP
- 2024南方电网广西电网公司校园招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- DB37T19976—2011山东物业服务规范第1部分住宅物业.doc
- 七年级心理健康教案完整版.docx
- 赤泥综合利用项目可行性研究报告(完整案例).pdf
- 2024款比亚迪海豹06DM-i豪华型尊贵尊荣尊享旗舰_用户手册驾驶指南车主车辆说明书电子版.pdf
- 企业技术改造资金绩效评价总结报告.doc
- 《生物化学》全套教学课件(共13章完整版).pptx
- 15-彭向刚-学习领导科学提升领导力(清华)__(全国各校课件参考).ppt
文档评论(0)