pdf格式总结.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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

文档评论(0)

youshen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档