armlyn的个人空间 https://blog.eetop.cn/211255 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

基于linux的打印控制系统

已有 1417 次阅读| 2009-10-28 15:54 |个人分类:arm9 嵌入式处理器

根据打印机命令方式,可以将其分成文本打印机、PostScript打印机和其它种类。所谓文本打印机,就是那些比较古老针式打印机,我们不需要驱动程序,就可以直接用cat命令驱动打印机打印文字,但只能打印英文,这种打印机现在已经很少使用了。PostScript(简称PS)是一种绘图能力很强解释性脚本语言,1985年由Adobe公司制定。由于它占用计算机系统资源少,处理过程标准化而且与设备无关,所以被广泛应用于打印系统.现在,能够直接支持PostScript打印机,通常都是非常高级办公打印机,对于这种打印机来说,PS语言是它们和计算机之间沟通最简便方式,应用程序可以将生成PS文档直接发给打印机打印.但大多数情况下,我们使用是各种比较低档,不能直接支持PostScript喷墨或者激光打印机,这一种类打印机只能识别各厂家自己指令集。
一、格式转化程序Netpbm:
    一组转换图形格式程序集,可以将png和jpg等格式图像经中间格式PNM,最终转换成通用PostScript格式.其中包括了pngtopnm,pnmtops等一系列独立小程序,将它们搭配使用,可以对图像进行诸如缩放,旋转等各种处理。
二、GhostScript程序:
    对于支持PostScript打印机而言,要在Linux下使用是比较容易,但对于那些不支持PostScript打印机而言,就必须要把PostScript格式转换成打印机能够识别命令格式,而GhostScript就是用来完成这个工作.Ghostscript是PostScript打印机模拟程序,通过软件模拟PostScript打印机,它具体工作是将PostScript页面描述语言,转译成各种打印机专用低阶打印指令,并发送给打印机执行。因此,Ghostscript需要知道各种打印机指令语言,这就是打印机驱动程序。Ghostscript软件中有很多随附驱动程序,除此之外,还可以在
三、打印机驱动程序:
    打印机驱动程序是应用软件与打印机之间交流桥梁,它可以将转化好打印文件,按照各种打印机不同格式发送给打印机,因此不同打印机都有自己特有打印驱动程序。另外,随驱动程序一起发布还有PPD文档,PPD是用来描述打印机功能文件,里面包含了字体,打印页面等一些描述。要使用一款打印机之前,必须找到其相应PPD文件,并正确地安装到打印管理器程序上。
四、打印管理程序:
    作为一个多用户多任务操作系统,
Linux上所有程序都是基于多任务、多用户而设计,打印也不例外。为了让不同用户、不同任务在打印时候不会产生冲突,就需要一个打印管理程序,我们通常称其为spooler。这类管理程序很多,从传统LPD,到时下非常流行CUPS,它们功能各异,但有一点不变就是都是用来协调打印任务。CUPS工作方式如下:通过命令行接收要打印文件;通过文件类型判断是否需要将其转换为PostScript,如果需要,则调用相应应用程序进行转换;通过PPD文件来判断GhostScript应使用何种驱动处理此PostScript文件;把GhostScript处理结果输出到打印设备上。
五、用户统一界面Foomatic:
    由于打印领域标准问题长时间不统一,诞生了各种打印管理程序,而要学会为每一个打印管理程序安装驱动程序,是一件非常复杂事情;如果用户需要更换打印机,也必须更改复杂设置。为了改善这种状况,就出现了Foomatic应用程序,它作用是通过一种方式管理所有打印机,把PPD文档和打印管理程序配置屏蔽掉,给用户一个友好统一界面。
    在嵌入式系统设计中,因为其系统资源有限,合理分配资源和保证处理速度是我们首先要考虑问题.一台不支持PostScript格式打印机工作时会占用大量CPU处理时间和内存空间,只是在PC上工作时,由于CPU处理速度快,内存空间大,所以用户感觉不到罢了.基于以上考虑,本文所设计嵌入式打印系统,在保留上述打印机系统结构情况下,以简单shell脚本程序代替CUPS等庞大打印管理程序,以自行开发图形用户界面代替Foomatic应用程序.另外,由于惠普公司打印机驱动程序具有良好通用性和可移植性,因此我们选择HP Deskjet系列喷墨打印机,同时使用这一系列通用驱动程序hpijs,源代码由惠普公司官方网站提供.Ghostscript选用GNU Ghostscript. 7.05版本,具有较好可移植性。

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 4

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 04:25 , Processed in 0.025121 second(s), 18 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部