pdf的语法分为对象级(Object),文件级(File)和文档级(Document)。
要了解PDF可以通过以下4个部分来
- 对象(Objects):一个PDF文件就是由一些列基本的数据对象构成的;
- 文件结构(File Struct):PDF文件描述了对象(Objects)在文件中是如何存储,访问以及更新的;
- 文档结构(Document Struct):PDF文档结构详细说明了这些对象是如何表示PDF文档的构件的,如页面(Pages),字体(Fonts),注释(annotations)等;
- 内容流(Content Strams):包含一系列指令描述页面和图像是如何呈现的。
从最基础的角度来看,一个PDF文件就是一个字节(8 bit)序列。字节可以构成符号(tokens),多个符号又能按照更高的语法规则构成对象(Objects)。
PDF可以完全由可打印字符(ASCII码字符的子集)加上一些空白字符,如空格(space),制表(tab),回车(carriage return),换行(line feed)来表示,不需要其它特殊字符。
PDF的空白符
十进制值 | 十六进制值 | 八进制值 | 名称 |
0 | 00 | 000 | Null(NUL) |
9 | 09 | 011 | Tab(HT) |
10 | 0A | 012 | Line feed(LF) |
12 | 0C | 014 | Form feed(FF) |
13 | 0D | 015 | Carriage return(CR) |
32 | 20 | 040 | Space(SP) |
其中(,),<,>,[,],{,},/,和%有特殊意义。
%之后的内容都为注释