- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 用串口连接和
您可能关注的文档
最近下载
- 2023年阳江市社区工作者招聘考试真题 .pdf VIP
- 《高效课堂和有效教学模式研究》结题报告材料.pdf VIP
- 生猪、牛、羊、鸡、鸭、鹅屠宰HACCP计划模式表.pdf VIP
- 2024-2025学年广西壮族自治区小升初英语真题(含答案).pdf VIP
- 环保项目设备供货及服务保障措施.docx VIP
- 初中物理每日默写知识点(1)_Decrypted.pdf VIP
- 人教版信息科技四年级《多彩的数字世界》教学PPT课件.pptx VIP
- 我的幸福大家庭.pptx VIP
- 安全教育开学第一课主题班会PPT课件.pptx VIP
- (2025秋新版)人教版数学二年级上册教学计划.docx VIP
文档评论(0)