地狱怪客

pdf文档的格式

PDF(Portable Document Format)由Adobe公司所开发,是一种不论用何种类型的计算机均可阅读的文件格式。PDF文件包含一个PDF文档和其它支持数据。一个PDF文档包含一个或多个页面,每个页面包含与设备和分辨率无关的文字、图形和图像的任意组合,被称为页面描述。文档还可以包含一些只有在电子读物中才存在的信息,如超文本链接、声音和动画等。除了PDF文档之外,PDF文件中还包含一些其它信息,如:文件中使用的PDF规范的版本号,文件中重要结构的位置。

为了更好地理解PDF文件,可把PDF文件分解成四个部分。第一部分是PDF的对象,PDF的对象是一组基本对象类型。这些类型绝大部分与PostScript语言使用的数据类型对应。PDF支持很多种基本的数据类型:布尔型、数字、字符串、字面名、数组、字典和流,另外还有一种空对象。在PDF文件中,经常给一些对象赋予一个标签供其它对象调用,这种有标签的对象称为间接对象。

第二部分是 PDF的文件结构。PDF的文件结构决定了对象在 PDF文件中的存储方式、访问方式和更新方式。后面将详细分析。

第三部分是 PDF的文档结构。PDF的文档结构指定了怎样用基本对象类型来表示 PDF的文档成分,包括:页面、注解、超文本链接、字体等。

第四部分是 PDF的页面描述。页面描述指的是页面上包含的与设备和分辨率无关的文字、图形和图像的任意组合。PDF的页面描述可不依赖于PDF的其它部分而被单独地解释。

1、PDF的文件结构

PDF的文件结构(即物理结构)包括四个部分:文件头、文件体、交叉引用表和文件尾。文件头指明了该文件所遵从的 PDF规范的版本号。它出现在 PDF文件的第一行。如%PDF-1.2,表示该文件符合PDF-1.2规范。

文件体由一系列的PDF间接对象(inDirectob Ject)组成。这些间接对象构成了PDF文件的具体内容如字体、页面、图像等等。

交叉引用表则是为了能对象接对象进行随机存取,而设立的一个间接对象地址索引表。文件尾声明了交叉引用表的地址,指明文件体的根对象(cata-log),还保存了加密等安全信息。根据文件尾提供的信息,PDF的应用程序可以找到交叉引用表和整个PDF文件的根对象,从而控制整个PDF文件。

2、PDF的文档结构

PDF的文档结构是PDF文件内容的逻辑组织结构。它反映了文件体中间接对象间的等级层次关系。PDF的文档结构是一种树型结构。树的根节点就是PDF文件的根对象。根节点下有四个子树:页面树(Pages tree)、 书签树(outline tree)、线索树(Article tree)、名字树(Named Destination)。其中在页面树中,所有页面对象都在树的叶子节点,树中的子节点将继承父节点的各属性值作为相应属性的缺省值。书签树中则按树型层次等级关系将书签(Book mark)组织起来。书签建立了书签名与一个具体页面上的位置的关联,它使得用户可以按书签名字来访问文档的内容。由于书签可以有层次,能用来组织文档的目录,所以有时又将书签树称作目录树。线索树则将文章线索及线索下的文章块(Article head)按树型结构组织起来进行管理。

文章块是预定义好的一个页面上的区域,它一般是读者感兴趣的一段文字或图像,它的目的是让整个可视区只显示这个特定区域而避免页面其他部分的干扰。文章线索将预定义好的文章块串接起来,如果读者按文章线索进行阅读,则浏览器只按顺序显示该线索中的各文章块,从而使读者只读自己感兴趣的内容,而不必按顺序阅读。至于名字树则是建立了一种字符串(名字)和页面区域的对应关系,树中的叶子节点保存字符串及对应的页面区域,而非叶子节点只是一种索引,以便让应用程序能快速存取到叶子节点。名字树的作用就是让PDF文件中的其他对象能够用字符串名字来代表一个页面区域。

3、PDF格式的特点

PDF是以PostScript技术为基础的文档格式,而不是页面描述语言(page description language),它已经去除了PostScript在解译时所可能发生的不确定性,可以将任何应用软件产生的页面转换成PDF文档,完整地将原文档的文字、图形、影像声音及链接嵌入PDF文档之中,在转换时可以选择将文字包入PDF文档之中,即使一个中文PDF文档也可在没安装中文字体的纯英文系统中正确的开启打印,真正的达到文本交换网络无国界。PDF还可以转换成内含字体的EPS(Encapsulated PostScript)文档,而转换后的EPS文档可以再组版或汇入其它软件中再使用。

(1)高兼容性

PDF是对文字图像数据都兼容的文档格式,还是独立于各种计算机平台和应用程序的高兼容性文档格式,PDF文档可以使用各种平台之间通用的二进制(Binary)或ASCII编码,实现真正的跨平台作业,可以传达到几乎任何平台上。

(2)高压缩性

PDF是文字、图像的压缩文档格式。它使用多种方法来达到缩减原Postscript文档的目的,文档的存储空间很小,一般文档通常可以压缩至原来的数十到数百分之一,非常适宜网上快速传输,尤其当使用者要在网络上发送电子文档时,对于速度的考虑,高压缩比就显得特别重要。

(3)设备独立性

PDF文档具有字体替代和字体格式的调整功能,PDF文档的浏览不受操作系统、网络环境、应用程序版本、字体的限制。例如对于中文PDF文档,在不采用中文系统时,仍可独立显示中文;在采用中文系统时,则可搜寻中文词汇。PDF文档是为整合多种输出选项的网络所设计的,它是标准化及设备独立的最佳化输出格式。

(4)页面独立性

Postscript 文档的各页间是相互关联的,这意味着在跳到某页之前必须把它前面所有的页都处理过。而PDF文档格式并没有这个限制。可以直接阅读PDF档案的任何一页,无须考虑其它页。因为PDF文档中的每一页与其它页是互不相关的,以单页为单位。

(5)可扩充性

PDF设有Plug-in接口结构,可通过Plug-in方便的集成,增加新的功能。同时可使用LotusNotes数据库建立PDF文档数据库和有效进行电子文档数据管理。

(6)保护性

PDF文档允许设定密码和其它多种保护方式,以防止非法使用。例如必须使用密码才允许阅读、打印、复制、注释或修改。

码字很辛苦,转载请注明来自人生在世《pdf文档的格式》

评论