PDF的文档规格说明书,在ISO(International Organzization for  Standardization)和Adobe System的官方网站上都有下载,其中ISO的不免费。官方PDF 1.7版本756页的文档,够我读好长时间了,就慢慢的了解PDF文档的格式了。先暂且来一点PDF的构成类型,了解一点PDF的设计。

        PDF的数据类型,有以下8种:

        1)布尔

        2)数值

        3)字符串

        4)名字

        5)数组

        6)字典

        7)流

        8)NULL对象

        其中名字类型,还不了解表征的是什么类型,候补。其它类型都很容易理解。

        再来看看设计:

        1)直接对象和非直接对象。直接对象还不确定是什么,候补!非直接对象是需要一个对象号来标识。这个号和对象的对应关系保存在一个叫做xref的表里。这个表的具体结构还不清楚,候补。不过可以确定的是,这个xref表里保存着对象号和这个对象的偏移(从文件起始位置算起)。这种设计所带来的好处是:

            提供了对象的随机访问效率

            允许修改单个对象而不用更新整个文件

            当有大量小对象时,减少了文件尺寸。

       2)在分层方式上,PDF有线性和非线性两种。非线性分层方式占用的磁盘少,但是访问速度慢。线性分层方式则有个好处,即下载PDF文档时,不用等整个文件下载完才可阅读,也就是提供了流式结构,这提供了很好的用户体验。

          留了一些疑问:

         1.名字类型是什么样的类型?名字类型是以"/"开始的遗传字符串(不包含%、(、)、<、>、{、}、[、]等符号)

         2.直接对象指的是什么样的对象,其访问方式和非直接对象有何不同?直接对象据PDF 1.7的官方规格说明书定义的是:非非直接对象,我顶他个肺。

         3.xref表的结构。

 

参考文献:

[1]. ISO 32000-1:2008   http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=51502

[2]. Document Management – Portable Document Format – Part 1: PDF 1.7, First Edition  

http://www.adobe.com/devnet/pdf/pdf_reference.html

[3]. 维基百科的pdf词条.http://en.wikipedia.org/wiki/Portable_Document_Format