- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
第1 7章 与PostScript 打印机通信
17.1 引言
我们现在开发一个可以与 P o s t S c r i p t打印机通信的程序。 P o s t S c r i p t 打印机目前使用很广,
它一般通过R S - 2 3 2端口与主机相连。这样就使得我们有可能使用第 11章中的终端I / O 函数。同
样,与P o s t S c r i p t 打印机通信是全双工的,在发送数据给打印机时也要准备好从打印机读取状
态消息。这样,又有可能使用 1 2 . 5节中的I / O 多路转接函数:select 和p o l l 。所开发的这个程序
基于James Clark 所写的l p r p s程序。这个程序和其他一些程序共同组成 l p r p s软件包,可以在
c o m p . s o u r c e s . m i s c新闻组中找到(Volume 21 ,1 9 9 1年7月) 。
17.2 PostScript 通信机制
关于P o s t S c r i p t打印机所需要知道的第一件事就是我们并不是发送一个文件给打印机去打
印—而是发送一个 P o s t S c r i p t程序给打印机让它去执行。在 P o s t S c r i p t 打印机中通常有一个
P o s t S c r i p t解释器来执行这个程序,生成输出的页面。如果 P o s t S c r i p t程序有错误,P o s t S c r i p t打
印机(实际上是P o s t S c r i p t解释器)返回一个错误消息,或许还会产生其他输出。
下面的P o s t S c r i p t程序在输出页面上生成一个熟悉的字符串“ hello, world ”(这里并不叙述
P o s t S c r i p t编程,详细情况请参见Adobe Systems 〔1 9 8 5和1 9 8 6〕,而是着重在与P o s t S c r i p t打印
机的通信上)。
%!
/Times-Roman findfont
15 scalefont % point size of 15
s e t f o n t % establish current font
300 350 moveto % x=300 y=350 (position on page)
(hello, world) show % output the string to current page
s h o w p a g e % and output page to output device
如果将P o s t S c r i p t程序中的 s e t f o n t改变为s s e t f o n t ,再把它发送到P o s t S c r i p t打印机,结果是
什么也没有被打印。相反的,从打印机得到以下消息:
%% [ Error: undefined; OffendingCommand: ssetfont ]%%
%% [ Flushing: rest of job (to end-of-file) will be ignored ]%%
这些错误消息随时都可能产生,这也是处理 P o s t S c r i p t打印机复杂的地方。我们不能只是将整
个P o s t S c r i p t程序发送给打印机后就不管了——还必须处理这些潜在的错误消息(本章所说的
“打印机”,就是指P o s t S c r i p t解释器)。
P o s t S c r i p t打印机通常通过R S - 2 3 2 串口与主机相连。这就如同终端的连接一样,所以第 11
章中的终端I / O 函数在这里也适用(P o s t S c r i p t打印机也可以通过其他方式连接到主机上,例如
逐渐流行的网络接口。但目前占主导地位的还是串口相连)。图1 7 - 1显示了典型的工作过程。
一个P o s t S c r i p t程序可以产生两种形式的输出:通过 s h o w p a g e操作输出到打印机页面上,或者
通过p r i n t操作输出到它的标准输出(在这里是与主机的串口连接)。
P o s t S c r i p t解释器发送和接受的是7位A S C I I字符。P o s t S c r i p t程序可包含所有可打
文档评论(0)