pdf文档格式入门教程.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工作总结,调研报告,实施方案,管理制度,汇报材料 部分文献资料来源于网络,仅供个人参考试阅,版权归原作者,若有侵犯,敬请及时告知! 每个人都有自己的活法,没必要去复制别人的生活。有的人表面风光,暗地里却不知流了多少眼泪。有的人看似生活窘迫,实际上却过得潇洒快活。幸福没有标准答案,快乐也不止一条道路。收回羡慕别人的目光,反观自己的内心。自己喜欢的日子,就是最好的日子。自己喜欢的活法,就是最好的活法。 每个人都有自己的活法,没必要去复制别人的生活。有的人表面风光,暗地里却不知流了多少眼泪。有的人看似生活窘迫,实际上却过得潇洒快活。幸福没有标准答案,快乐也不止一条道路。收回羡慕别人的目光,反观自己的内心。自己喜欢的日子,就是最好的日子。自己喜欢的活法,就是最好的活法。 一.前言 PDF是基于PostScript文本描述语言,PDF特点有 跨平台 包含多种类型的内容 实时的合作编辑 数字签名保证安全性 安全和许可保证相关权限 方便残疾人的阅读 对其它文件格式和应用程序的重用 二.语法 应该从4个方面来理解语法 对象 文件结构 文档结构 内容流 PDF并不局限于ASII字符,包括任意的8位字符,但是字符串和流建议用ASCII表示 PDF字符集分成3种regular,delimiter,white-space. PDF 8种基本数据类型 Boolean values Integer and real numbers,默认为实数 Strings,可以写成两种方式(文本),十六进制数字,可以使用\表示跨行,转义字符的16进制可以表示非ASCII字符 Names,名字对象总是以/开始 Arrays,可以由不同的对象构成, Dicitionaries,键必须是一个名字,是单重集 Streams,PDF可以读取流对象以增量的方式,且大小没有限制,而字符串对象必须一次性完全读入, The null object 2.1 文档页面 注:如果一个PDF文件包含二进制数据,那么建议报头那行之后应紧紧跟着一行至少包含四个二进制字符的评论,也就是,字符的代码是128或更大。这样确保文件传输应用程序在检测文件开头部分数据时能够采取恰当的操作来确定是把文件内容当作纯文本文件还是二进制数据。 文档页面通过页面树结构来访问, 该结构定义了文档中页面的顺序。该树结构允许PDF应用程序,使用很小的内存,就能快速打开一个上千页的文档。树型结构包含2种节点--中间节点称为页树型结构节点,和叶节点称为页面对象。应用程序应准备处理构成节点的树型结构的任何格式。最简单的结构是仅包含一个页面树节点,直接指向所有的文档页对象。 2.2 内容流和资源 内容流是描述页面外观和其它图形数据元素的主要手段。内容流取决于所载信息相关的资源词典,这两个对象相结合形成一个自我包含的实体。一个内容流是一个PDF流对象,它的数据由一系列描述在页面上绘图的图形数据元素的指令构成。这些指令以PDF对象形式呈现,使用同样的对象语法。然而尽管文档整体上是一个静态的,随机访问的数据结构,但是内容流中的对象将会按照顺序被解析。 1.一个页面可以由一个或多个内容流表示. 2.内容流可以独立表示对象(Form Xobject, Patterns, Type3 字体, 外观流) 3.内容流可以被编码FlateDecode, 在解析PDF文件中的FlateDecode过滤器时存在整数溢出。FlateDecode过滤器中可指定多个参数,之后在算术运算中使用了这些参数值计 算所要分配的堆缓冲区的字节数。这个计算可能溢出,导致分配了不充分的堆缓冲区。处理PDF文档中的TrueType字体和JBIG2数据时存在内存破坏 。 4.内容流中的操作数在操作符之前(后缀表示法),为了便于程序实现. 5.内容流中操作符的操作数只能是直接对象,间接对象和对象的引用都是不允许的。在某些情况下,操作符必须指向一个定义在内容流外的PDF对象,例如字体字典或图像数据流。 6.一个内容流中的命名资源是由资源字典来定义,资源字典列举了内容流中操作符需要的指定资源和指向所需要的名称。比如,如果一个文本操作符在内容流中出现需要某一个字体,内容流资源字典可以将名称 Font1 与相应的字体字典结合起来。文本操作符可以使用这个名称指向相应的字体。 资源字典可以通过以下方法中的一种与内容流结合: 1.作为页面Contents选项的值的内容流,(由于页面 Resource 属性是可继承性, 它可能就位于某个页面对象的父节点中). 2.对于其他内容流,流字典

文档评论(0)

壹拾佰仟萬 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档