pdf文档格式入门教程_第1页
pdf文档格式入门教程_第2页
pdf文档格式入门教程_第3页
pdf文档格式入门教程_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1pdf文档格式入门教程一.前言PDF是基于PostScript文本描述语言,PDF特点有1.跨平台2.包含多种类型的内容3.实时的合作编辑4.数字签名保证安全性5.安全和许可保证相关权限6.方便残疾人的阅读7.对其它文件格式和应用程序的重用二.语法应该从4个方面来理解语法1.对象2.文件结构3.文档结构4.内容流PDF并不局限于ASII字符,包括任意的8位字符,但是字符串和流建议用ASCII表示PDF字符集分成3种regular,delimiter,white-space.PDF8种基本数据类型1.Booleanvalues2.Integerandrealnumbers,默认为实数Strings,可以写成两种方式(文本),十六进制数字,可以使用\表示跨行,转义字符的16进制可以表示非ASCII字符Names,名字对象总是以/开始Arrays,可以由不同的对象构成,Dicitionaries,键必须是一个名字,是单重集Streams,PDF可以读取流对象以增量的方式,且大小没有限制,而字符串对象必须一次性完全读入,3.4.5.6.7.8.Thenullobject2.1文档页面注:

如果一个PDF文件包含二进制数据,那么建议报头那行之后应紧紧跟着一行至少包含四个二进制字符的评论,也就是,字符的代码是128或更大。

这样确保文件传输应用程序在检测文件开头部分数据时能够采取恰当的操作来确定是把文件内容当作纯文本文件还是二进制数据。

文档页面通过页面树结构来访问,PDF应用程序,使用很小的内存,就能快速打开一个上千页的文档。

树型结构包含2种节点--中间节点称为页树型结构节点,和叶节点称为页面对象。

应用程序应准备处理构成节点的树型结构的任何格式。

最简单的结构是仅包含一个页面树节点,直接指向所有的文档页对象。

该结构定义了文档中页面的顺序。

该树结构允许2.2内容流和资源内容流是描述页面外观和其它图形数据元素的主要手段。

内容流取决于所载信息相关的资源词典,这两个对象相结合形成一个自我包含的实体。

一个内容流是一个PDF流对象,它的数据由一系列描述在页面上绘图的图形数据元素的指令构成。

这些指令以PDF对象形式呈现,使用同样的对象语法。

然而尽管文档整体上是一个静态的,随机访问的数据结构,但是内容流中的对象将会按照顺序被解析。

1.一个页面可以由一个或多个内容流表示.2.内容流可以独立表示对象(FormXobject,Patterns,Type3字体,外观流)3.内容流可以被编码FlateDecode,在解析PDF文件中的FlateDecode过滤器时存在整数溢出。

FlateDecode过滤器中可指定多个参数,之后在算术运算中使用了这些参数值计算所要分配的堆缓冲区的字节数。

这个计算可能溢出,导致分配了不充分的堆缓冲区。

处理PDF文档中的TrueType字体和JBIG2数据时存在内存破坏。

4.内容流中的操作数在操作符之前(后缀表示法),为了便于程序实现.5.内容流中操作符的操作数只能是直接对象,间接对象和对象的引用都是不允许的。

在某些情况下,操作符必须指向一个定义在内容流外的PDF对象,例如字体字典或图像数据流。

6.一个内容流中的命名资源是由资源字典来定义,资源字典列举了内容流中操作符需要的指定资源和指向所需要的名称。

比如,如果一个文本操作符在内容流中出现需要某一个字体,内容流资源字典可以将名称Font1与相应的字体字典结合起来。

文本操作符可以使用这个名称指向相应的字体。

资源字典可以通过以下方法中的一种与内容流结合:

1.作为页面Contents选项的值的内容流,(由于页面Resource属性是可继承性,它可能就位于某个页面对象的父节点中).2.对于其他内容流,流字典的Resources选项指定资源字典。

这个适合于指定FormXObjects的内容流,pattern,Tpye3字体,和标注外观流。

3.FormXObject或Type3字体字形描述可能缺省Resources选项在这种情况下,可以在使用表单或字体的页面的Resources选项中查询资源。

但不建议用这种方法。

4.过滤器过滤器可以串联,基本上可以分成两类4.1ASCII过滤器,可以将任意的8位数据编码成ASCII文本形式.对于加密过的PDF文件没有作用4.2解压过滤器对于压缩过的数据,交叉引用表(Cross-referenceTable)中包含允许随机访问文件应有的间接对象的信息,从而在定位某一特定对象时不必去读整个PDF文件。

每一个PDF文件均应该包含一张交叉引用表,由一个或多个部分(sections)组成。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论