pdf文档格式入门教程.docxVIP

  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文档。上传文档
查看更多
pdf文档格式入门教程

一.前言PDF是基于PostScript文本描述语言,PDF特点有跨平台包含多种类型的内容实时的合作编辑数字签名保证安全性安全和许可保证相关权限方便残疾人的阅读对其它文件格式和应用程序的重用二.语法应该从4个方面来理解语法对象文件结构文档结构内容流PDF并不局限于ASII字符,包括任意的8位字符,但是字符串和流建议用ASCII表示PDF字符集分成3种regular,delimiter,white-space.PDF 8种基本数据类型Boolean valuesInteger and real numbers,默认为实数Strings,可以写成两种方式(文本),十六进制数字,可以使用\表示跨行,转义字符的16进制可以表示非ASCII字符Names,名字对象总是以/开始Arrays,可以由不同的对象构成,Dicitionaries,键必须是一个名字,是单重集Streams,PDF可以读取流对象以增量的方式,且大小没有限制,而字符串对象必须一次性完全读入,The null object2.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.对于其他内容流,流字典的Resources选项指定资源字典。这个适合于指定Form XObjects的内容流,pattern,Tpye3 字体,和标注外观流。3.Form XObject或Type3字体字形描述可能缺省Resources选项在这种情况下,可以在使用表单或字体的页面的 Resources 选项中查询资源。但不建议用这种方法。4.过滤器过滤器可以串联,基本上可以分成两类 4.1ASCII过滤器,可以将任意的8位数据编码成ASCII文本形式.对于加密过的PDF文件没有作用 4.2解压过滤器对于压缩过的数据,交叉引用表(Cross-reference Table)中包含允许随机访问文件应有的间接对象的信息,从而在定位某一特定对象时不必去读整个PDF文件。每一个PDF文件均应该包含一张交叉引用表,由一个或多个部分(sections)组成。如果没有更新信息扩充到PDF文件,则交叉引用表表仅包含一个部分(section)以对象编号0开始,每更新一次文件就在该文件的交叉引用表表中增加一个部分。三.图形1.Pdf将符号当做一般的图形来对待

文档评论(0)

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

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

1亿VIP精品文档

相关文档