- 14
- 0
- 约9.92千字
- 约 11页
- 2017-01-12 发布于重庆
- 举报
pdf格式总结
一、对象
1.概述
pdf包括八种类型:Boolean values, Integer and Real numbers, Strings, Names, Arrays, Dictionaries, Streams, and the null object.
2.类型说明
(1)整型实型可以带符号,实型不要用非小数点或指数方式。
(2)字符串可以使放在()中的字符,也可以是放在 中的十六进制数。
(3)前面没有反斜杠的结束标记只被视为一个字节。
(4)常用的转义字符:(空格 (20h), 制表符B (09h), 回车 (0Dh), 换行 (0Ah), and 分页符 (0Ch))。
(5)名称类型中可以使用两位十六进制表示字符,在前面加上前缀#。
(6)通常名称类型是作为原子类型,但是当需要将其作为字符类型时则用UTF-8进行解码。
(7)流对象是间接对象,但流对象中的字典是直接对象。
(8)stream后面必须跟着一个回车加一个换行符或者仅仅是一个换行符,但不能只加一个回车。在流字节和endstream中应该有一个行结束标记,不能有空格,该标记不算在内容长度之内。
(9)stream中的流字典键值对
Length integer Stream和endstream关键字之间字符的长度. (endstream前可能有结束标志EOL) Filter name or array 用来处理流字节的的一个或多个名称 DecodeParms dictionary or array Fillters使用的一个字典或者一个字典数组作为参数。如果只有一个带参数的过滤器,该键就被设置为该过滤器的参数。如果所有过滤器都有初始参数,那么该键可以省略。如果有多个未设初始值的过滤器,那么该键就为一个字典数组。 F file specification 指定包含流内容的外部文件名称,如果该键出现那么stream和endstream中可以没有内容 FFilter name or array 用来处理外部文件流内容的filter FDecodeParms dictionary or array Ffilter所用的参数 DL integer 表示已解密的字节流长度。 通过它可以确定是否有足够的磁盘空间将内容从流写到文件中。
precisely. (10)指向未定义对象的引用不会被当成错误,会当成引用一个空对象。
二、过滤器
1.概述
Pdf是通过过滤器来将流中乱码进行解码。
例如,一个流字典中指明过滤器为ASCIIHexDecode,那么负责读流的应用程序就必须实现将hexadecimal-encoded数据进行解码。
一个流字典中的filter可以是一个数组,比如先后使用LZW和ASCII base-85编码的流在流字典中为2/Filter [/ASCII85Decode /LZWDecode]。(加密解密顺序相反)
有些filter中还包含参数来控制操作。
2.Crypt filter
该过滤器决定了解密的算法,在过滤器数组中该过滤器必须放在第一位。
其可选的参数:Type:作为解密参数字典的CryptFilterDecodeParms
Name:Crypt filter的名称。
具体在第四部分描述
三、文件结构
1.概述
除了签名字典中的内容外,非流对象的数据每行不得超过255个字符。
二、文件头
大部分PDF文件包含二进制数据,在文件头部后加上至少四个二进制字符,每个字符要大于在128。这是为了让程序分辨出文件中的数据时文本还是二进制。
三、交叉映射表
交叉映射表包含的信息可以允许随机访问文件中的间接对象。
表中的每一行都对应着一个间接对象,说明了每一个对象相对于文件体的偏离字节。
每次文档被增量式地修改时,会新增加一个映射表子部分。
每个映射表子部分包含两个部分,第一个部分是该子部分第一个对象的对象号码,第二个部分是该子部分的行数。
每个子部分的行包含20个字节。(包括结束标志)
行的格式如下:nnnnnnnnnn ggggg n eol
n表示该对象在使用,f表示该对象已经删除。
nnnnnnnnnn 表示该对象在解码后的流中的偏移。即从文件的开头到对象的开头的长度。
ggggg表示版本号
eol的值可为SP CR, SP LF, or CR LF 中的一种。
每个子部分的第一行必须为f且ggggg为65536。其他的初始化为0。当一个间接对象被删除时,添加一个表项到表尾并将其标志位设为F,并将gggg位加一,ggg位最大为65536.
四、文件尾
一般reader读文件都是从文件尾开始读的。
倒数第二行的数据代表从文件头到最后 一个xref关键字之间的偏移量。
文件尾包含一个尾部字典,字典中的键值有:
Size
您可能关注的文档
- MSK传输系统实验-7.docx
- M矩阵的性质定理及证明.doc
- 第七节 能力与人格.doc
- 杰出华人投资者.doc
- NET和PHP对比.docx
- NewDual校正调试流程.doc
- newolivar0.docx
- opengl绘制教室大作业源代码wp.docx
- 投资银行学复习范围整理.doc
- 一桶金—系统创富课后测试.docx
- 部编版人教版一年级语文下册《识字:古对今》赛教课件.pptx
- 新编人教部编版二年级下册语文《我是一只小虫子》名师教学课件.pptx
- 最新人教部编版九年级语文上册《精神的三间小屋》精品课件.ppt
- 全优指导高中数学人教A版选修2-1课件:3.2.1利用向量证明空间中的平行关系.ppt
- 最新人教部编版小学语文一年级下册《动物儿歌》教学设计.docx
- 最新人教部编版四年级语文上册《风筝》精品课件.ppt
- 北师大版数学六年级下册《数的运算》课件.ppt
- 部编版人教版初一七年级语文下册《老王》名师课件.ppt
- 部编版人教版初一七年级语文下册《将军百战死-壮士十年归——“互文”修辞手法》名师课件.pptx
- 部编版三年级语文下册《童年的水墨画》教学课件.pptx
原创力文档

文档评论(0)