- 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(PSEPS格式)讲解
PostScript(PS/EPS格式)讲解?作者:bobob?一、PostScript概述Postscript既是一种页面描述语言,也是一种高级解释型脚本语言。由于它与设备的无关性,使得它无论在那种平台上,都能忠实的再现原貌,从而被广泛应用于打印出版行业,同时由于它是一种解释型脚本,所以它也可以像一般编程语言一样用来解决某些问题。和我们熟悉的pdf文件相比,两者有几个明显的区别:1.???????pdf有严格的文件结构(文件头,所有对象,交叉引用表,文件尾,线性化pdf也有固定格式)和文档结构(由catalog穿起来的逻辑结构),ps则没有这些;2.???????ps的数据类型有十几种,pdf只有8种;3.???????ps有一般编程语言所具有的结构控制条件语句,比如if,ifelse,for,forall,loop,以及function等等,而pdf没有;4.???????pdf最终是要显示出来给别人看的,ps不仅限于这个目的,它还可以做为脚本实现一定非显示的功能;5.???????ps语言中的标准操作符有400多个,有的一个操作符有好几种使用方式(参数类型和数量不同),而且ps没有保留字,这些标准操作符完全可以通过ps脚本改变其原来的含义;6.???????ps文件一般都是没有加密的,所以文件很大,pdf相对要小很多。?通常,一个postscript语言的阅读器,应该包含以下几个大部分:扫描器,解释器,操作数栈,执行栈,字典栈,图形状态栈,虚拟内存区,字体处理块,颜色处理块,以及最后的输出功能,下面将详细说明。?二.Postscript详细介绍?1.基本类型的数据结构简单?OBJECTS复合?OBJECTSbooleanarrayfontIDdictionaryintegerfilemarkgstate (LanguageLevel 2)namepackedarray (LanguageLevel 2)nullsaveoperatorstringreal???Array:能容纳不同类型的对象;可以通过index来访问其中的元素;对array的访问必须有下表安全检查,array长度有最大实现限制;要支持嵌套;值的存储符合复合对象的特征。String:它的元素值必须是0-255之间;长度受程序实现的限制;要能处理转义字符’/’;值的存储要符合复合对象的特征。Dictionary:用来存储键-值对,要实现在字典中插入一个条目;能查询一个键并得到它关联的值;字典在创建的时候要指定最大条目数,当插入一个条目的时候超过最大条目数,ps level1返回一个dictfull错误,level2以上则自动扩展,最大条目数受字典实现的限制;能支持和字典相关的操作符的实现;值的存储要符合复合对象的特征。File:解释器和运行环境之间用来交流的一个可读或可写的字符流。要支持像磁盘文件这样可以永久保存的类型,也要支持动态生成的类型;一个file对象要创建并打开一个文件;支持其他操作符的读写操作;支持类似read,readline,write,writeline等等的操作;Save:save操作符获取当前local虚拟内存的状态快照并返回描述此快照的save object,restore则把local虚拟内存的状态恢复到save产生的快照状态。Restore要实现以下功能:丢弃自从对应的save以来所有在local虚拟内存上产生的对象,归还占用的空间;恢复save时local虚拟内存中的所有复合对象(不包括string);隐式调用grestoreall操作符,把graphics state的状态恢复到save的时候的状态;关闭自save以来所有打开的文件(local虚拟内存起作用的时候打开的)。Restore不会影响操作数栈,字典栈,执行栈,以及global虚拟内存。Save 和 restore可以嵌套。Gstate:一组图形控制参数,分为两大类:设备无关的包括CTM,position,path,clipping path,clipping path stack,color space,color,font,line width,line cap,line join,miter limit,dash pattern,stroke adjustment;设备无关的包括color rendering,overprint,black generation,undercolor removal,transfer,halftone,flatness,smoothness,device。要实现以上特性的存取操作。?2.扫描器。?这个是实现浏览器的基础,从字符流中按照postscript语法解析成一个一个的对象,ps‘编码方式有3种:ASCII, binary
文档评论(0)