引自:https://blog.csdn.net/steve_cui/article/details/81912528java
pdf的数据类型主要由8种数组
boolean(布尔型) :关键字为“true”和“false”ui
numberic(数值型) :integer(整数)和real(浮点型)spa
string(字符串型) : () 或 <> 。‘\’ 的用法:1.字符串分行 2.如下的转义.net
name(名字型) :‘/’ 开头的,不容许出现空白,区分大小写,其中的内容也能够使用’#’加2个16进制表示特殊符号。code
array(数组型) :[],只支持一维数组,不过内部能够嵌套。 对象
dictionary(字典型) :《》 字典;key属性是name,value属性是任意的。通常都包含“Type”名字对象。blog
stream(数据流型) :“stream”和“endstream”之间的数据块组成。全部的stream必须是indirect对象,而stream中的字典必须是direct对象。索引
包含属性:Length(必选),数据块长度:整形字符串
Filter,对数据块进行压缩:名字或数组
DecodeParms,压缩方式:字典或数组
F,stream数据块的内容将被保存在一个文件中:文件描述对象
FFilter, 与“Filter”的规则相同,它用来描述外部文件数据: 名字或数组
FDecodeParms, 与“DecodeParms”的规则相同,它用来描述外部文件数据: 字典或数组
DL, 非负整数,它表示解压缩以后的数据块长度: 整型
null(空类型) :相似与java中“null“,表示空值: 空对象
indirect(间接对象) :PDF中的任何对象均可以封装成一个间接引用对象; 该类型对象,由一个对象号(索引号),一个版本号,”obj“关键字,”endobj“关键字组成。
例如:
一个间接对象,能够经过间接引用(如:12 0 R),引用到任何位置。