和PostScript打印机通信.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
和PostScript打印机通信

和PostScript打印机通信 发信人: SuperSB (孤鹰), 信区: Linux 标 题: [转载]unix环境高级编程-17 发信站: BBS 水木清华站 (Wed Mar 15 14:31:48 2000) 发信人: taosm (128+64--cool), 信区: unix 标 题: unix环境高级编程--第17章 和PostScript打印机 发信站: 西十八BBS (Sat Mar 11 14:13:45 2000), 转信 第十七章 和PostScript打印机通信 17.1 引言 我们现在开发一个可以和Postscript打印机通信的程序。PostScript打印机目 前使用很广,它一般通过RS-232端口和主机相连。这样就使得我们有可能使用第十 一章中的终端I/O函数。同样,和PostScript打印机通信是全双工的,我们发送数 据给打印机时也要准备好从打印机读取状态消息。这样,我们又有可能使用12.5节 中的I/O多路转接函数:select 与poll。我们所开发的这个程序是基于James Cla rk 所写的lprps程序。这个程序与其他一些程序共同组成lprps软件包,可以在co mp.sources.misc新闻组中找到(Volume 21,1991年7月)。 17.2 PostScript 通信机制 关于PostScript打印机所需要知道的第一件事就是我们并不是发送一个文件给 打印机去打印-我们只是发送一个PostScript程序给打印机让它去执行。在PostSc ript打印机中通常有一个PostScript解释器来执行这个程序,生成输出的页面。如 果PostScript程序有错误,PostScript打印机(实际上是PostScript解释器)返回 一个错误消息,或许还会产生其他输出。 下面的PostScript程序在输出页面上生成一个熟悉的字符串hello, world。( 我们这里并不叙述PostScript编程,详细情况请参见Adobe Systems[1985与1986] 。我们着重在和PostScript打印机的通信上)。 %! /Times-Roman findfont 15 scalefont % point size of 15 setfont % establish current font 300 350 moveto % x=300 y=350 (position on page) (hello, world) show % output the string to current page showpage % and output page to output device 如果我们在PostScript程序中改变setfont 为ssetfont,再把它发送到PostS cript打印机,结果是什么也没有被打印。相反的,我们从打印机得到以下消息: %% [ Error: undefined; OffendingCommand: ssetfont ]%% %% [ Flushing: rest of job (to end-of-file) will be ignored ]%% 这些错误消息随时都可能产生,这也是处理PostScript打印机复杂的地方。我 们不能只是将整个PostScript程序发送给打印机后就不管了-我们必须处理这些潜 在的错误消息。(在这一章中,我们所说的打印机,就是指PostScript解释器。 ) PostScript打印机通常通过RS-232串口和主机相连。这就如同终端的连接一样 ,所以我们在第十一章中的终端I/O函数在这里也适用。(PostScript打印机也可 以通过其它方式连接到主机上,例如网络接口逐渐流行。但目前占主导地位的还是 串口相连。)图17.2 显示了典型的工作过程。一个PostScript程序可以产生两种 形式的输出:通过showpage操作输出到打印机页面上,或者通过print操作输出到 它的标准输出(在这里是和主机的串口连接)。 PostScript解释器发送与接受的是七位ASCII字符。PostScript程序可包含所 有可打印的ASCII字符。一些不可以打印的字符有着特殊的含义(参见图17.1)。 图17.1 从主机发送到PostScript打印机的特殊字符 图17.2 用串口连接和

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档