文章目录
- 一页空白PDF
-
- [1. 文件头 (Header)](#1. 文件头 (Header))
- [2. 对象定义 (Object Definitions)](#2. 对象定义 (Object Definitions))
-
- [对象 1:文档目录 (Catalog)](#对象 1:文档目录 (Catalog))
- [对象 2:页面树 (Pages Tree)](#对象 2:页面树 (Pages Tree))
- [对象 3:修改日期](#对象 3:修改日期)
- [对象 4:页面对象 (Page)](#对象 4:页面对象 (Page))
- [3. 交叉引用表 (Cross-Reference Table)](#3. 交叉引用表 (Cross-Reference Table))
- [4. 文档尾 (Trailer)](#4. 文档尾 (Trailer))
- 文档特征总结:
- 五页空白PDF
-
- [1. 文件头 (Header)](#1. 文件头 (Header))
- [2. 对象定义 (Object Definitions)](#2. 对象定义 (Object Definitions))
-
- [对象 2:页面树 (Pages Tree) - **主要变化**](#对象 2:页面树 (Pages Tree) - 主要变化)
- 新增了4个页面对象 (7-10)
- [3. 交叉引用表 (Cross-Reference Table)](#3. 交叉引用表 (Cross-Reference Table))
- [4. 文档尾 (Trailer)](#4. 文档尾 (Trailer))
- 与之前文档的主要区别:
-
- [1. **页面数量**](#1. 页面数量)
- [2. **对象数量**](#2. 对象数量)
- [3. **页面对象属性**](#3. 页面对象属性)
- [4. **文件结构**](#4. 文件结构)
- [5. **文档ID不同**](#5. 文档ID不同)
- [6. **修改日期**](#6. 修改日期)
- 推测的可能操作:
- 文字图像PDF
-
- [1. 文件头 (Header)](#1. 文件头 (Header))
- [2. 对象定义 (Object Definitions)](#2. 对象定义 (Object Definitions))
- [3. 详细对象分析](#3. 详细对象分析)
- [4. 交叉引用表 (Cross-Reference Table)](#4. 交叉引用表 (Cross-Reference Table))
- [5. 文档尾 (Trailer)](#5. 文档尾 (Trailer))
- 与之前文档的主要区别:
-
- [1. **内容变化:从空页面到有内容的页面**](#1. 内容变化:从空页面到有内容的页面)
- [2. **页面数量减少但内容丰富**](#2. 页面数量减少但内容丰富)
- [3. **对象数量大幅增加**](#3. 对象数量大幅增加)
- [4. **文件结构复杂化**](#4. 文件结构复杂化)
- [5. **文件大小剧增**](#5. 文件大小剧增)
- [6. **修改日期变化**](#6. 修改日期变化)
- [7. **页面内容分析**](#7. 页面内容分析)
- [8. **文档ID再次变化**](#8. 文档ID再次变化)
- 关键特点:
一页空白PDF
cpp
%PDF-1.7
%µ¶
% Written by MuPDF 1.27.0
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
>>
endobj
2 0 obj
<<
/Type /Pages
/Count 1
/Kids [ 4 0 R ]
>>
endobj
3 0 obj
<<
/ModDate (D:20260201101915+08'00')
>>
endobj
4 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
>>
>>
endobj
xref
0 9
0000000005 65535 f
0000000042 00000 n
0000000096 00000 n
0000000162 00000 n
0000000221 00000 n
0000000006 00002 f
0000000007 00002 f
0000000008 00001 f
0000000349 00001 f
trailer
<<
/Size 9
/Root 1 0 R
/ID [ <518807DC94414C29E02FD2A979A55577> <621008229B2755FDD137456AAC1B1AFA> ]
>>
startxref
349
%%EOF
我来逐块分析这个 PDF 文档结构:
1. 文件头 (Header)
%PDF-1.7
%µ¶
% Written by MuPDF 1.27.0
- PDF 版本:1.7
- 文件包含二进制数据(
%µ¶表示二进制内容) - 由 MuPDF 1.27.0 生成
2. 对象定义 (Object Definitions)
对象 1:文档目录 (Catalog)
pdf
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
>>
endobj
- 根对象
- 指向页面树对象(对象 2)
对象 2:页面树 (Pages Tree)
pdf
2 0 obj
<<
/Type /Pages
/Count 1
/Kids [ 4 0 R ]
>>
endobj
- 总页数:1
- 子页面引用:对象 4
对象 3:修改日期
pdf
3 0 obj
<<
/ModDate (D:20260201101915+08'00')
>>
endobj
- 修改日期:2026年2月1日 10:19:15(东八区)
- 注意:这是未来时间(相对于今天2025年)
对象 4:页面对象 (Page)
pdf
4 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources << >>
>>
endobj
- 页面尺寸:595×842 单位(A4 尺寸,单位是点,1/72英寸)
- 裁剪框与媒体框相同
- 空资源字典(没有字体、图像等资源)
- 这是一个空页面
3. 交叉引用表 (Cross-Reference Table)
pdf
xref
0 9
0000000005 65535 f
0000000042 00000 n
0000000096 00000 n
0000000162 00000 n
0000000221 00000 n
0000000006 00002 f
0000000007 00002 f
0000000008 00001 f
0000000349 00001 f
- 有 9 个条目(索引 0-8)
- 格式:
偏移量 世代号 f/n(f=空闲,n=在用) - 对象 1-5 是在用对象,6-8 是空闲对象
4. 文档尾 (Trailer)
pdf
trailer
<<
/Size 9
/Root 1 0 R
/ID [ <518807DC94414C29E02FD2A979A55577> <621008229B2755FDD137456AAC1B1AFA> ]
>>
startxref
349
%%EOF
- 总条目数:9
- 根对象:对象 1
- 文档 ID(两个 16 字节的十六进制字符串)
- 交叉引用表起始位置:349
- 文件结束标记
文档特征总结:
- 极简结构:只有必要的 PDF 对象
- 空页面:没有实际内容(文本、图像等)
- A4 尺寸:标准页面大小
- 线性化:只有一个交叉引用表(非增量更新)
- 可能用途 :
- 模板文件
- 测试文件
- 占位文档
- 由程序生成的初始文档
这是一个非常基础的 PDF 文档,仅包含框架结构而无实际可视内容。
五页空白PDF
cpp
%PDF-1.7
%µ¶
% Written by MuPDF 1.27.0
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
>>
endobj
2 0 obj
<<
/Type /Pages
/Count 5
/Kids [ 4 0 R 7 0 R 8 0 R 9 0 R 10 0 R ]
>>
endobj
3 0 obj
<<
/ModDate (D:20260201101954+08'00')
>>
endobj
4 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
>>
>>
endobj
7 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
>>
/Rotate 0
>>
endobj
8 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
>>
/Rotate 0
>>
endobj
9 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
>>
/Rotate 0
>>
endobj
10 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
>>
/Rotate 0
>>
endobj
xref
0 13
0000000005 65535 f
0000000042 00000 n
0000000096 00000 n
0000000187 00000 n
0000000246 00000 n
0000000006 00002 f
0000000011 00002 f
0000000374 00000 n
0000000514 00000 n
0000000654 00000 n
0000000794 00000 n
0000000012 00001 f
0000000935 00001 f
trailer
<<
/Size 13
/Root 1 0 R
/ID [ <D85D7BEF6A1EEBB3E02FD2A979A55577> <70E436F9CDEC5B3A834F8822DC29B017> ]
>>
startxref
935
%%EOF
我来逐块分析这个 PDF 文档,并与之前的文档进行比较:
1. 文件头 (Header)
相同:%PDF-1.7 版本,都由 MuPDF 1.27.0 生成
2. 对象定义 (Object Definitions)
对象 2:页面树 (Pages Tree) - 主要变化
pdf
2 0 obj
<<
/Type /Pages
/Count 5 ← 页数从 1 变为 5
/Kids [ 4 0 R 7 0 R 8 0 R 9 0 R 10 0 R ] ← 引用了5个页面对象
>>
endobj
新增了4个页面对象 (7-10)
除了原有的对象4,新增了:
- 对象7、8、9、10:都是Page对象
- 每个都包含
/Rotate 0属性(旋转角度为0) - 对象4没有/Rotate属性,但新增的页面都有
3. 交叉引用表 (Cross-Reference Table)
pdf
xref
0 13 ← 总对象数从9增加到13
0000000005 65535 f
0000000042 00000 n
0000000096 00000 n
0000000187 00000 n
0000000246 00000 n
0000000006 00002 f
0000000011 00002 f
0000000374 00000 n ← 对象7
0000000514 00000 n ← 对象8
0000000654 00000 n ← 对象9
0000000794 00000 n ← 对象10
0000000012 00001 f
0000000935 00001 f
4. 文档尾 (Trailer)
pdf
trailer
<<
/Size 13 ← 大小从9变为13
/Root 1 0 R
/ID [ <D85D7BEF6A1EEBB3E02FD2A979A55577> <70E436F9CDEC5B3A834F8822DC29B017> ]
>>
startxref
935 ← 交叉引用表起始位置从349变为935
%%EOF
与之前文档的主要区别:
1. 页面数量
- 之前:1页
- 现在:5页
2. 对象数量
- 之前:9个对象(5个在用,4个空闲)
- 现在:13个对象(11个在用,2个空闲)
3. 页面对象属性
- 之前:对象4没有/Rotate属性
- 现在 :
- 对象4:无/Rotate(保持原样)
- 对象7-10:都有
/Rotate 0属性
4. 文件结构
- 之前:交叉引用表起始位置349,文件较小
- 现在:交叉引用表起始位置935,文件更大(因为多了4个页面对象)
5. 文档ID不同
- 两个文档的ID完全不同,说明是不同的文档
6. 修改日期
- 之前 :
D:20260201101915+08'00'(10:19:15) - 现在 :
D:20260201101954+08'00'(10:19:54) - 相差39秒,可能是对同一文档进行修改操作的时间间隔
推测的可能操作:
- 这是一个文档扩展操作 - 在原来的1页文档基础上添加了4个空白页面
- 可能是通过插入页面功能实现的
- 新增的页面都明确设置了旋转属性(Rotate 0),而原始页面保持原样
- 保留了原始的对象4(第一页),只是在其后追加了新页面
这个文档仍然是空页面文档(所有页面都没有内容),只是页面数量增加了。
文字图像PDF
cpp
%PDF-1.7
%µ¶
% Written by MuPDF 1.27.0
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
>>
endobj
2 0 obj
<<
/Type /Pages
/Count 1
/Kids [ 4 0 R ]
>>
endobj
3 0 obj
<<
/ModDate (D:20260201103648+08'00')
>>
endobj
4 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
/Font <<
/AFSF1 7 0 R
>>
/ExtGState <<
/JYE1 16 0 R
>>
/XObject <<
/AFSX1 15 0 R
>>
>>
/Contents 17 0 R
>>
endobj
7 0 obj
<<
/BaseFont /SIMSAB+SimSun
/Encoding /Identity-H
/Subtype /Type0
/Type /Font
/DescendantFonts [ 8 0 R ]
/ToUnicode 13 0 R
>>
endobj
8 0 obj
<<
/Type /Font
/Subtype /CIDFontType2
/BaseFont /SimSun
/CIDSystemInfo 9 0 R
/FontDescriptor 10 0 R
/W 12 0 R
>>
endobj
9 0 obj
<<
/Registry (Adobe)
/Ordering (Identity)
/Supplement 0
>>
endobj
10 0 obj
<<
/Type /FontDescriptor
/FontName /SIMSAB+SimSun
/Flags 32
/FontBBox [ -7 -140 1000 859 ]
/ItalicAngle 0
/Ascent 859
/Descent -140
/CapHeight 859
/StemV 70
/FontFile2 11 0 R
>>
endobj
11 0 obj
<<
/Length1 18058290
/Length 11113
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789ced9d796c1cd77dc7df9b999d63678fd99be292da590e7729792951d28aa2
28cbf28a14a95ba24452ded561ef8aa4243a92255b8a6c2775cba471adaee134
7f1445fee891f4081a2041878ed150fea37080a6e83f39da2240913a687ae568
90204873b57f74fb7b3343eaa85324815b05eef7f39de3bddf3be6bddf3b6616
9265c6196309ba28ccda3f3d3bf615e5cb3f648c6f21ebfae3d343db4e447ebc
9531c9a27873ee4aeb9a7dcafe11c5af51fcc6dccd1bb6f23aff1cc5ff99e2af
5fb876f1ca67e75fa3f2f115c6a2dfb9d8ba7e8d4d332acf7b283d7df1f2f317
befe1f9fbccd98fa61c68cf597165af3fffefdf37f41e97f4be93b2e9141e263
5fa6f88728de7fe9ca8de78c257691b18fae30ae775dbe3ad7fad8477fff2f19
ebfd63c63e10bbd27aeedac427e31fa1fc5394df7eaa756521fa9e0ddf624c26
1bfbdeb5abd76f74becd22942eda6b5f7b66e1da8913f1af53677f93daacdca4
e7f1f78dfd19a5bf269e77939e1766ec1ce31fffa2781ee3e4158d85598285d8
c32cdee9b03813fe0ab31e9274a9f5d4228b5d6edd788ac5d82a943ea6f2f789
5e1312b3d810bb4581af44bfe359643f5be75f45bbde0251ff9b9d37593f679d
ffecfc88fb96bb1853833c7f27923a1fee7c851becbe5c419ed0ae7fc8cafd5f
7822befb07ccf4337cfac3634be2fe8fbb3ef609aaff4db2be49d108b59405ed
5b22ef8798ce9698c86905f725cab397fac15526738178a67ed7334f3726c659
8dcdbffc25bffd4c9c4ad0ae1bec4fc408783129f0429aaedcbb2bace9dd2db2
286cfef8f499c7cebcbcf0d2c5c12b87df5b7ef94be477f656d6ce3ffde9967b
75bfaf023eddf9313d5ff2ce1bdef3d7cecedf53edcbc158d1c4a536a8a49877
55bd9845beb0c8a29162cca0d9a0b1757446291ca36b8eee192a6d78e52c9662
d9b55211cfa25238e25dfdf2296f56c5bd5ac26437a896384b524d222cca8bda
cc605669ecb4f0942246f902db168439d5580ec212e5ec0ac2f25d76e5ae7088
72b020ac7af6536c813dc3aeb34576953d456333cc3653ed557692ec17d9bbd9
65d6a2f4694abf42d777539e8f53ae71ca7d8d3d4f298b94eb12f9d3a6f61d60
c7d931b69f35d8418a4f50d905364769cf78752f52d82fb999eedbd816d25636
1884c57927bc8db15ae76cb5bb70a65a2b9cae760a8d6d9d427deb52e1b1adb5
c2a92d9dc2ec964a6166a85398de64174e6eae154e6cee14a6063b85e38395c2
b1872a85a30f750a4736760a87375885431b2a85831b3a850303b5c2fe814e61
b2dc294c943a857dfd4b85713ac79ceec25e67a950a3f3d1be5a614f5fa7f008
dd77173b8587ed4e6157a153185ddf29ececcd16467a2b851dbd9dc2706fadb0
bda753d8bc69a9b0a9b25418acd885d2ba4ea15fcfaf3bebe8ddebcef651ac98
ed14ec4857f66c21172daccf750abd64e8c9460bf9fc3a76a6ab2bcbce748b50
4e8432eb7666779e8e677827c3534793b3b503898e359b6c588de8d1c86ce8a8
321b69288df8526cd63c1a9ed58eaab3dc62b3b146b8a13658c338aacfca47a5
59bd21356c694a5a925ce9ab5248aed542fc36ade599cae115ad73f2b0ab4f9d
71f92db7342daeb513a75df596cb664f9fa92f73fec1c68bafbcc27ac70ebb1f
9aaebf4acbb377acb12c49e327eacb8afcc1c6755661954a8505aa04e1d52bbf
7e835756258ce2c6e9ee9f015e39be1af86fc13bb14aa58be6749c66ebf3ecd3
345737b38fdf66c9ce773f956347f595ce3756efafc52d764459e97cf5b54cce
0fd492c2941d8c648b6ad62ad692eca8b5d279a3b63bcc8e16b75819beef7226
3d281b9581c572e9c94a79b112b57b177bf24fda3d8b36cbca46269a4a2f468d
bd97a3a62c2da6e4bd97532a7bb452a123399a488ed2bd62fd395d28fc52850f
89b0f56debdbdbb66dd9eab57ca45c76fad44c3a5bddb66344eb2b0f6fdf51dd
96cd0d6f2f3bceb0b089a46a86f268ceb0aa9e0d597a3c61c5cdb8524c76f7a4
f4444809e966281c52144d554c550a251ed7b59e5c572e16ebefede92e68da0e
555515e577438a2acb29c3143b57b8f30df603f657b4d78cb18db5e4a091ceef
e9da3336660c6da86e289568eb181a1a1daa5613d5847fdb96a86ed99adb313c
ac6a033b768ce43455cb699991744e239bd3a70d54a9715e921fd93e40c9d591
9c93cde6327d5ab93ce078d12ab77272ae286774cbb0f4396e712b6a1a5be31b
72726a209ca5f03ede656c8aa6f6c53626ac50ac6828e948725b979dbcd89d93
7b4f5831a59832b497075269cd36a3b2d12ced48cac9b1f5b2b13e9c32b58dd1
d443555531cc5ae952244933c2ec7c8d7d9ffd0deb639ba8af03b5449f55b0d2
e9b21e0a95c7464672e51c7535499d4c046755f47484daeff76424e7f554b43d
93d5ca03c3d9a0c323e581916c3693569dbe4cd5cb3630e264551ac011f24235
f71e6e964f527fae9bc9c4665d3f60a52ff39c6217a2c7c8f88c1297f2aa2e29
c601239d4ecad18f48e184a41ab2c2f71b49ad4f36cc94540ca96a2c5d4be931
3da4706db76cbc2b9a94a23149d1e548525e27752763922c499a9530bd9e7ed3
1b5387e67f8d156a515bea9554b5f4f0d6ada952eaae5efa3dbc333caa373cde
50de3d86db07d63a3850ceadf58dba4605fbb40f196356f689cc8eee84ba7e43
54a1918c6ddf28f76db17651ff2e72538ec7c25ce1f291e81f4a4632145642fc
0f8c9495696b792b5b2e2b8a6ca636f59d4bebc9c77b865372a64a9d76c2bb24
3d1e52cd706cb4db8a70595623998899ea166fa208f5ef7becf3f406ec63036c
5d2d9ced8e3ba66d77b36eea9cd731bf676b8d1ed0441755cdefe380e81b8d1a
756e249bdb31f2742caacbb2249b675fb7b27ba2850d7b53f22385a171bef7a1
de483e6a8ec67abbcdcf1bf150c80c5b89ad56766fa53fa490e7fb2a513955a9
d46479d7c0c02e7ab39a9d7fa139f6d76c232bd52cbdac9619cbae4bf5a62c4b
ceca81e3ef2c256aa1e76bc75b34a24d81bb57578cdf5a6fbddce209fe90a13f
5cdecfc79c87c9b10bbc3bbc2f963e5ba4c6eec887d6536bfa53ea6042d2ebc7
4acaa669d9c8db117d20969ece28dc7466176911d0778449ebfd5bec73de3744
3f7d61ee61b3ec717a1fd3da1f9d7ba27afad4e46ce921bb5b89c532d5cc6a8b
b7f9a2c54f9bd5c80e6a20b548cb50e3879d0c85b2d4f83d52ee8ebbc5fee075
239dcb0501d55f32e47b359b4b3b7dde14a2cd4d18778c0c64b37ec991d5c071
cee35bf5a8cea3d56446e3d9ad92939522bd862a298a9a1ce53cabf30ccf687a
44cbe5c3afa468c1f090129165239e34cccc488f4c8b4a0e99295a5db22c87a2
1b5237d6197a543d954eabbffef2d3a6b66f7fb7d2b56d7c3a1d574246249996
e2e97dd998a9cfc6e3f66ff7c4c3da6d33a2c43545e1af1c8f44fb29a085c261
55d31545e289fde1445a35e3b19df18461c4e2f4cd4cf3f26bec8734faebe85b
68923d415f2f23b57533ac78a139f5c491b347a6a68a2959d38a1bfabbbb7716
77ae4d873b177f7b153ece699abf28038fd22cf057644e5ddd77efcfe08dc7bd
fbf2c8da545af3bfbf65d150a9aa57ead1b41ed91ab6b65baace252eab6ac688
27e474fa9261994a2aa1a50d73bb19af46698be29c36916b3cce7319296f8753
e1a811be4423908d24aa6133d453d4c5bccca6e25cd52439ac7d3112b2c29661
d0de16d2a35a241e9333a574341596737db99892a0b430e553544b3f7bc80ceb
f9f8de5c44ce6dca5972ca3452a998a9c523c9c7a3462846be97d4b3b2918a25
a25a389c125fa5e2cdf543f605fadeed613b69479f61a3b5ee3d23a343ea081f
9a993a7a74a82b93191aac6eac8e8cf40ff5dfbbfad6fc9df0d7a198769ae66d
6fb47f0b170e0c07bb3eb9b1aaa673599ab2de9631502d0fe7b474ce73bf2817
ec30a2a058c3abe59ca21c4b2a4a4891e4a42327745db3423ca29bc6809a34fe
4857244a504aebe587c9744aea32785f345993c309dafdb9aca8b19d65ee385a
a42b625086d148bcf886144e59b21c89fdce80dc1d89c4126af831d90847b4f3
1b73dd51b5e7c823b251e88d6ab9442c3dff7b5a24aa87a3b14f984a2ca12755
e5806c881d80d5265ffab5173ff0abef7fdfd2affcf20bbff4def73cffdcb337
df7de3fa334f5fbbfad495cbef7a72f1d2c50b0bf373e75bcd271e3f77f6cce9
46fdb153b333d327a68e1f3b7ae4f0a18307f64f6e28586163902f9be171677c
21bc69902d874d0a9a9b06b9ab8ebb9a67748f576cfa58ac170f9fac4feccb17
8b8dbc53746bae529a10676bbe3db79ad0a02aa81495a52a0e4f3b874f9caedb
13eda6974896997b627efaceb5b420e44ae3337577b242b1bbe2fbbdf85af4c0
7dc90757931ddb6553edf6fc32934b64afe597b917088dbfdca09e341cf77cc5
293af505cabb4c3fca8a33cd710a455643dcde4f35da2b163b4fe7dc63ce0a0f
42a7ebaeddbcd03840b9995472bd637a850d3bcff9e1a66bcfd9b6ab969cf353
f576d1e54d271fc44fd6c963bc956f179da2dd68ac743ed323723b45aa4b6263
cb0ebf7562b9c66f4d9faedfb6e857f2ad99faab1297c69bf409de4f69f5db36
0db8679584551845c416117698d3c8bc2ae95efefced1afd54f75215cfe0c5e7
a8179e4d5fb57136b722f936cb7f50d97b508dbe25e756143fa5b69a5b219bee
db963c9b07f9817c5f0b876a7acda845a4a844de16a657c9f23afd123738fb54
8447797e994a9df4cc2b7c69d9a8e5fd1c4b94a3e6b7f0d6ec9d47cf9eae7f2a
c2a89877a5078d09360d4e2c4bc72ace9df978a24e6e9f58e6c72a4d6f4ecaa5
099b66a35b9bae8b9ccd3ccdc87d9b06c58cb0ebce42de692ca7d3ed6b135483
b3dc52cbcd4adb9f18623a38d62e9a4c72e9e09c33d914396872d371904c73a7
eca67bbe59a1a06d4db627c5d8b5446e965d96e4d232574a7c0fdb437d57236e
d85918734d676c2de551f6a89fa28a14cd197379d6f7dc843361772db6e79cf3
344f6a53f58bf90b8d16d5edd69c96ab3863f965858dd1aceee2d489896576ac
42bd394c33e57865ea0c2d25d173bbddde672fd794726bae25e2fb8ae4897690
e4ecdbd7b8abc484dd766badb926e59868789969bd9071c269d9f3e452ea2ef9
6ada113f0d4f8b3233a7ebedc8bc33ef90436bb5768bba9db7e71af97663ce73
3095a7a6b14d83a13b7b48b08548626596e62ed065c566e79bce79df20d6d0fd
b68bf71b2e50aebb6dce21f138efcebd7bfb9033314f39c4d99a77659a5c457b
bee1cf0f36e5adee9f9889df95c9a631f52a6f5b0fafc67810a3081d6df7e2bd
d14b6bd1497136c96b9bfdb9e22a6531d7ea45f7c9bc7bb95159cbd27297cedb
6ddb727639e2e215de2fcea61ba2c0d25c4b6c21aa987b64384406bb7e9e662f
5538d96cafce382aa694d79ee43e55b9a74adaf8f80c3d5a2a89eeb84b5376b3
61379b64a5a552ccdb6e88eef68596985c62739cf2fb33453b34dd5aed692acb
1af4d0bcabd13e7da1b5e014694f255ba3e17b5fb451a1d6b1e9bacbf2edb6d3
763935b1344999a9fab2ab960f8a1b1dd72a4e6b8106513ccf6e2d786527a9b9
9e77446df909a7d8a02c52c9f325398e76a3f3e232d7a6d9e89ea3d5162a25da
c9b63ddaaebfceced1b6a894e74e3569f3b62d7bd2f686ba45335938e1a08835
a8223fa3511219a9bc7794dd2b95e5735ae98ec53bae56fcccba572bb5ec64dd
9d5acda27907059eaeb8526e27258acef393f40e50bc8112ce0b950e927b6b34
abf2a2b4ed4a33f56078bcf20745d1fcea80f9c5c8e26d9de2e5555c6dafe9b7
d77fa8ea1d11ef304aae5ea28176156a839fac89eedc990414a646fb6564afb9
7e07284c8fb28314af23cd20a29416bc3ef92f2d5bec96f43a6f39e2ccaf74de
98a2b766d31167a3211eaf7b0f1225bcaadb7ec5c25daa487c2b57044ff20f53
1c07bd2edc6d0e7b87e6b559a4f95d0addebf8c07bb73b6f30df73c500316744
2f5f0a5665b0ee16f2eea54665de2fa5063bb84d3b2aeddc7327bc6f8233b41a
9ca246fb18759f5695ed4e57e89de1f5ed25dfab87fcdd41cc4a3ee9b0499a43
41806599cb9c035c5c182d2de7802b51742de4bc2a31ae3b3bc5cd70762e4b5c
a3dd5e6c465634421b7d7bae39efbf4ec9cb6c677eb7f88051bd8136bcb1bd29
b6a6997a28af34bc2953769fad04b3d8bfdeacaca53f2bd6a4b6ea495da4b5d7
12435e75cffa73a31c5c6f56f4b72cd5d67fba87e9c168ba86972676a3b2fe3f
3f4af607e8903f5c8724bfe643fe3e41d6f25cbb2db6b6e57331b14223e504d9
93d4b4516ae468d04af2cd2f5153a6c4a375cfe24569b969a239feb0954c4ab0
28ef67fca96d52a245adf94cdecf45c7ed4e87ddacace6f69d40ed0e97fc791e
2407a5fdd9f96ca541a149713629cba43883956406ab3472dfae1f54ef8fa971
6fa2b3569978d13b6b358ad8328fd097aa920fd113cbb645eedae5f9b34c4da5
787bd732d7ca418690c8209576b5dbe6eafe2fb6ffdbf499c8bc4f40d668df6f
705fa0f1a0b18ebe758a7ebf35ea9983518eaedd8531580ee171d71c17df2fe2
dd648809b099c6f785cf067b8ef7397197633c93588a775bbb84efb5d52de16a
65b5ecaadf2e784b3a287b9f75a6fe025985a73e2bde242ea77ba85c14675eb8
ce7b9a98e3572bc1c7ea0b6274dfef55f7fe8a6d2fd277d638a7af2d7a512e8a
57952d72eb656f936bd307cf62abe5ed43de8f8d2efa963a29be70e93bddb16c
be9bedf67fb238c1af017a0728a5faeefc6883befe573adfec69f85b95442f79
3a67dab66d2528a96d27e9e780fba2e7de20cdf16cf41657cb412ed183176971
8a7c6ff9a75a0f96df82200882200882a0ff7d71138220088220088220088220
0882200882a077ac96fe8ff45d0882200882200882200882200882de69921e81
20e86dd0072108822008822008827e1ac9bb2108822008822008822008822008
8220088220087ac0fa3708822008822008822008822008822008822008822008
8220e8274bf90dc638033f9125167fd04d00000000000000000000000080b703
ce58f841b7010000000000000000000000000000000000000000000000000000
0000003f1b9c31f341b7e1ede49dd61f00000000000000000000000000000000
00000000000000e09d08672cf2a0db0000000008f077d0010000000000000000
0000000000f076823f7b00000000000000000000000000000000000000000000
0000000000000000000000f0ff1dfcdbb3000000000000000000000000000000
00000000000000000000000000000000000000000000000000e0e7853316e60f
ba11bfc0c037000000000000000000000080770a9c31f341b701000000000000
00000000000000000000000000000000000000000000003f1b9c31e341b7e1ed
04ff7d030000000000000000000000000000000000000000000000f08b0f672c
f6a0db0000000008c4ff73f541b7010000000000000000000000000000ef1c38
63f107dd06000000000000000000000000000000000000000000000000000000
000000000000e041827fe70f0000000000000000000000000000000000000000
0000000000000000000000000000000000000000fcbc70c6a2ff055ec9ce30>
endstream
endobj
12 0 obj
[ 71 [ 500 ] 1411 [ 1000 ] 4487 [ 1000 ] 4539 [ 1000 ] 7095 [
1000 ] 7516 [ 1000 ] 9083 [ 1000 ] 12630 [ 1000 ] 16901 [
1000 ] ]
endobj
13 0 obj
<<
/Length 588
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789c5d91dd6ac4201085ef7d0a2fb7174b7e4d520881ba61692efa43d3174874
b2151a23c65ce4ed3bbadb2d5450f83ce7c8cc189dbab6d3cad1e8dd2ea20747
27a5a58575d9ac003ac2456992a4542ae16e144e310f864418eef7d5c1dce969
21751d7da0b63abbd3c3935c467820d19b956095bed04327413be576bcec3763
be6146a631691a2a61c2c75e06f33acc40a3903dfefa8fcf7ffae76e80a68193
6b396291b09a41801df405481de36a687dc6d510d0f29ffe784d8d93f81aac77
e725bae3b8c81b24566548f99965484952798d715606e23c50c53d71eeb58255
416bd9c953999e90d2acf4cea2cdbd334b588154f2b440cad3982155bc65a1ba
5b1dbe4e3fd0fb08c4662d761fa61e1af72d2b0df78f318bf1a9b07f00e3e087
d5>
endstream
endobj
14 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 84
/Height 50
/ColorSpace /DeviceGray
/BitsPerComponent 8
/Length 55
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789cedc13101000000c2a0fea967094fa0000000003e06a2d65889>
endstream
endobj
15 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 84
/Height 50
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/SMask 14 0 R
/Length 4924
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789cd59a8b7354d51dc7ff029d763aad550b01830602212f034920411091476b
90a93271c6548b4c051ca5ada5337406a9544b79950a8314e9404ba12a344e19
498c258fcdbe77efee7dece3de641342b0efbfa2df73cfeed9b3f7957b77371d
3bf39d3b27bb6777efe7fc9ee7dc28719f12f7a584f139954ef8e5d8180689d0
c88c26854706c7876e7e78e97c2ae6bf37a1a4e30139ec9b4846a6e438ae4452
349b08696228a744a633b1093900c5fd03934a7864e0fadeefef5cddb864ddea
154fae69ea7b6edb9e97767e3129df559353a9d8a48ccf8671a5034d09d94995
83bc3205a5a5002ffaaef9e38a47765ca5e858560c016d2a25cc6a524e896784
602230ac447c5a229c93625a32a225c39a1856932142a184a7d2914925087621
3038958e0e7ef2c7dd2fee58b5b2f689f6868d6b9b77bdb0fdc77b5ffefb546a
3a1da7d43925ea86ddb008595d1993ecd881e3869dce61577c2a23f8d3f17198
5f898e43c0cfc483aa109ad0c155a2a026e6d9a15c2aa449fe6468083ed07fed
83bee7b7b5353cb2a1b3f1a9ae967dbb7a0ffde4b5bfe5140a4b4d4fc72ed98b
8ba084b226d94d568431aa54c2e72036810c741f50a2636087e4c82830a1ac10
c80afe6c220073c3db79f60939944b4554d12f476fdfc9c6ff74e96cefb39b60
77b06fea6efdd19e978ebe75e0de84442d0e51eb97c1ae79677706674a27c775
765f560cc2eea9982fa3c352a9ba3000326f77c43bd821551c4fc5476654e1f2
f9933bb6ae43bc53f69fbeb1fb3747df42bc336aa6f9666706e5c560cda2af67
937e28932003550c6011a8f5c16b10a83529a84ff6c1ee77b5c407678e6eddb0
baa3f931043bd80f1d78edfd53efcc6a229fe58af8a93055799eafda7f9cf76a
33be193c23fae9640a4ea58a417d052cc0751fc0bb81b4e04b0b6389e0d0ec44
f2dca92348ef60dffc441bd88f1cfce1c533c7c0ce5c9d67c74d7a65a7f86a61
11ece638803bb0430c9c3a004cafd9b0230a901652f13128eeffec8b9c74f6c4
cfe1eded4d8f6e59bf0aecef1e7af3f2fba710ef7a8018dd9edea75776de013c
b1f3016ee7f6eed96177ca9e86cfc747ef4d8a678e1f467aef6ca9fbf6c60e98
fec491831f5e3a47f33cab6e06f6f91005b1cbf676ecc4013cb22bf151122952
00f5fde43b07c1bea675e9339bd620f0df3b76f8936bbffbc774da40ed9cebca
080467bb57c42e05894ce0f48a2f87d1113298f9f6c137d677acec6aabef797a
2dd8cf9dfcc5a7d7ff00768b443717bb595ed91d8a9a35b8e82f82d30247182d
d889e47026194057a0caa40183f31f787d17121d1adaed9bbbe0f6e77ffdee60
ff554fec76e0ff4b7682cfd8adec4e8c2e829774ceb94c4c4b85c5d8089af996
fa1ac2bea5fb3b4f759e3f4dd8d1d362b221e4e7955d46fee1e4dee799e7339f
5725bd6d66651d57bde243c39f5efffd85d31f5fbd20096342e476ef773737d4
3ddcddbea2674b17d851dc6fddb842ed6eee6d487b50594ea39d95f97b0cecb2
4776d6e458b24fe87d1dc637ae5ce8d9dcbd69fdaa1fecdaf9fadebeae8e86a6
fa85eb3a1ab66f213e7feee411b0fff34ec632d7d9ddf97cb02b5565a7b94e0c
0dbffaf2ceceb6fac71ef9c6ead6bae6158b1a972d80dd9feb7912a9feec89b7
c1feaf99ecff1d3b897dd1c6e7e9400a6373fae76b17fb7a9f59f0e07d8dcb6b
9a20ddeecf6e5d079f3f7b9cb0fffbaefa656057bcb3a37053a98518d70abd3d
c6d89686466ffdecc03ed81dec2d0d8b6177c2be8db09f3976986737e43a76e7
ece60d471676b2602f9d6066e7a3be527674f2fab60e92a2a317cf1d5f59bfb0
aef601b0372faf59bbaabe478ff7f77e5564a76dadb5dd5144dc511bf1a57c0d
52add8156c4e759917c12bbe819db537b393522232bcbeab79e143f73fde58db
b262d19ab6655b37b613f663876f7e74f93fb31a05c77cfedc86824f2a618640
457e0b3888355d45406e5c5cb4b2d853687a7595c3ae6f64f23b7a2984e2be67
77efa26f7d6579ddc3f0f9cec79752f6df9efee55f6f7e44f33ca28356796bbb
1bd845a30cec0cdf21deedc0f9779dc119bec1eef9239d4400bd8daa846ffde5
ead225dfac79e8febac55f87dd37ac6d426bd77feda2e0fffc4e46c0348b9037
51f3b0b4ca146b4de93a18f0cb60e71d634e7c73bcd33fe5d898968ae0ab5a1b
6b173e78dfb2da075a1b1603ff851d4f8f0df6d3ae2623f899b90dec8cc50edc
bc022ed9ddc8a5f5192c9feb7045aecb65e377a7a437f7bfb2a4e66bb50bbe0a
fcf6e647f7bffaa2e01f82d1e9768fd6c412f101eb486de900253e532e3b5b01
87d8a7ecf9f6bed4e7b19dc948c1999c78fbb31bfbf77d0f197e6377cb2b7d3b
06faafcca809d8572d2c147f5049dac2b95cdda5f5cdec68b0a97840f6a2e175
73f3c3d7c10cf9d100633708ec592938ad26e0f9b1c0e7a343fdc303d7c3be81
0925924b4569962b45a6ae1ee4115c82dbc6be5c5225ed00cb614f7067b6a5e0
c4ed41218572e918b6b4b84293a9e8745620af482180a3f723a734852d80d9d6
f44f37e066f69222e89addfcae033b925546f0dbb143b032aea0a602385ea165
9d9ed41537bfa5e0eebddd8ebde44bf472ec86dd30c19e7d9cb02788e717a803
541a010f402af2ad1281e971053bbd4e2af9a25672dae33dc65de29377f5726c
60b4935bf6c2610e7fb7fc52136793f2f87405083e3ba6e00f3dec73bba7d5b0
9c4c4b921c1f95abcdce0e344a7ebac08e1f2dee32e8318b5cd27d991bb94a9c
df60085e6097a002a3c88d2bb17b967b6ac396ba809f5f0450e707858edd0edf
dcb17b62b74b92c4ee9cccec73e679866f6637b81965cfb7befc6e4bb2b6bb81
bd6cbbdbc9c02e59d9bd5aec256d7f29bb59ac95754a5995498a8d40cef85ed9
2df1797603be25bb83c5ab025e2d768acfb31b64c95e3ceeb06737e39b9358d9
4b41d9797cc9c6f38b4b61f304c7819d4834e217b39f1470c95e15733389d161
b3e96513bba8a7419a09cb63b7dbef5b1e4158f25ab25bfa985bbb478621395a
c49738cc398a3effc456f070c4677be643ff65a830667581cd31b84d193fc4cb
925d72cd5e7c525f2e7bda74da699065b07805b7c417c3b7293e0b7c2ae6e476
62ecf43f702a617758810a619df1193b0b7caaa43bfce2c3eb385981f2d88b55
b2340f5497dabc0260a7f860a762ec73e24b7a8c54ceeee096f301cec4d899f5
a992057c8745e0d91dfe4faf12fcf90367ec79458aa64fba90a84b36ad80a747
f95f1676a860f7842e372bc05a82aab3cf2bb8993d1929e227adf013f1bcbcb2
7bc567e3b263a77276830398d925ae1bac16bb197c3ef0ddb03bdb5d9a07b7b7
04af3abe31deb98ce7d2e7ddb35705bf8aecff054ad8530a>
endstream
endobj
16 0 obj
<<
/BM /Normal
/SMask /None
/CA 1
/ca 1
/AIS false
>>
endobj
17 0 obj
<<
/Length 451
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789c6dd14d6ac3301005e0bd4e3127b03dfa1b0b4aa1b293421785c45ab4cb20
d4a210c7c40e397f8dda45b184408bc7c783996137661dabfbf0883e1c5f2df8
059af4167f857f7937fce543f70ef5cb7ed823a006f70598e2dfdf8d80d45624
5ad09a2aa525b8fe09ada5677067b6a54666b4575d89726c328a6db19573bda5
02952e52c9b7940bb245aab2b1246f5491523ed6ba822235d9588d6a45a23bc7
0eac3e86cbe91e1fa19b2ed31cc7709fa38739ae1511eab7cf1dc2f70237d022
550aaaa431665d17554249508a2a4d047e4c37fb40e82738b01f73576e8d>
endstream
endobj
18 0 obj
<<
/BaseFont /SimSun
/Encoding /Identity-H
/Subtype /Type0
/Type /Font
/DescendantFonts [ 19 0 R ]
/ToUnicode 24 0 R
>>
endobj
19 0 obj
<<
/Type /Font
/Subtype /CIDFontType2
/BaseFont /SimSun
/CIDSystemInfo 20 0 R
/FontDescriptor 21 0 R
/W 23 0 R
>>
endobj
20 0 obj
<<
/Registry (Adobe)
/Ordering (Identity)
/Supplement 0
>>
endobj
21 0 obj
<<
/Type /FontDescriptor
/FontName /SimSun
/Flags 32
/FontBBox [ -7 -140 1000 859 ]
/ItalicAngle 0
/Ascent 859
/Descent -140
/CapHeight 859
/StemV 70
/FontFile2 22 0 R
>>
endobj
22 0 obj
<<
/Length1 176616
/Length 11113
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789ced9d796c1cd77dc7df9b999d63678fd99be292da590e7729792951d28aa2
28cbf28a14a95ba24452ded561ef8aa4243a92255b8a6c2775cba471adaee134
7f1445fee891f4081a2041878ed150fea37080a6e83f39da2240913a687ae568
90204873b57f74fb7b3343eaa85324815b05eef7f39de3bddf3be6bddf3b6616
9265c6196309ba28ccda3f3d3bf615e5cb3f648c6f21ebfae3d343db4e447ebc
9531c9a27873ee4aeb9a7dcafe11c5af51fcc6dccd1bb6f23aff1cc5ff99e2af
5fb876f1ca67e75fa3f2f115c6a2dfb9d8ba7e8d4d332acf7b283d7df1f2f317
befe1f9fbccd98fa61c68cf597165af3fffefdf37f41e97f4be93b2e9141e263
5fa6f88728de7fe9ca8de78c257691b18fae30ae775dbe3ad7fad8477fff2f19
ebfd63c63e10bbd27aeedac427e31fa1fc5394df7eaa756521fa9e0ddf624c26
1bfbdeb5abd76f74becd22942eda6b5f7b66e1da8913f1af53677f93daacdca4
e7f1f78dfd19a5bf269e77939e1766ec1ce31fffa2781ee3e4158d85598285d8
c32cdee9b03813fe0ab31e9274a9f5d4228b5d6edd788ac5d82a943ea6f2f789
5e1312b3d810bb4581af44bfe359643f5be75f45bbde0251ff9b9d37593f679d
ffecfc88fb96bb1853833c7f27923a1fee7c851becbe5c419ed0ae7fc8cafd5f
7822befb07ccf4337cfac3634be2fe8fbb3ef609aaff4db2be49d108b59405ed
5b22ef8798ce9698c86905f725cab397fac15526738178a67ed7334f3726c659
8dcdbffc25bffd4c9c4ad0ae1bec4fc408783129f0429aaedcbb2bace9dd2db2
286cfef8f499c7cebcbcf0d2c5c12b87df5b7ef94be477f656d6ce3ffde9967b
75bfaf023eddf9313d5ff2ce1bdef3d7cecedf53edcbc158d1c4a536a8a49877
55bd9845beb0c8a29162cca0d9a0b1757446291ca36b8eee192a6d78e52c9662
d9b55211cfa25238e25dfdf2296f56c5bd5ac26437a896384b524d222cca8bda
cc605669ecb4f0942246f902db168439d5580ec212e5ec0ac2f25d76e5ae7088
72b020ac7af6536c813dc3aeb34576953d456333cc3653ed557692ec17d9bbd9
65d6a2f4694abf42d777539e8f53ae71ca7d8d3d4f298b94eb12f9d3a6f61d60
c7d931b69f35d8418a4f50d905364769cf78752f52d82fb999eedbd816d25636
1884c57927bc8db15ae76cb5bb70a65a2b9cae760a8d6d9d427deb52e1b1adb5
c2a92d9dc2ec964a6166a85398de64174e6eae154e6cee14a6063b85e38395c2
b1872a85a30f750a4736760a87375885431b2a85831b3a850303b5c2fe814e61
b2dc294c943a857dfd4b85713ac79ceec25e67a950a3f3d1be5a614f5fa7f008
dd77173b8587ed4e6157a153185ddf29ececcd16467a2b851dbd9dc2706fadb0
bda753d8bc69a9b0a9b25418acd885d2ba4ea15fcfaf3bebe8ddebcef651ac98
ed14ec4857f66c21172daccf750abd64e8c9460bf9fc3a76a6ab2bcbce748b50
4e8432eb7666779e8e677827c3534793b3b503898e359b6c588de8d1c86ce8a8
321b69288df8526cd63c1a9ed58eaab3dc62b3b146b8a13658c338aacfca47a5
59bd21356c694a5a925ce9ab5248aed542fc36ade599cae115ad73f2b0ab4f9d
71f92db7342daeb513a75df596cb664f9fa92f73fec1c68bafbcc27ac70ebb1f
9aaebf4acbb377acb12c49e327eacb8afcc1c6755661954a8505aa04e1d52bbf
7e835756258ce2c6e9ee9f015e39be1af86fc13bb14aa58be6749c66ebf3ecd3
345737b38fdf66c9ce773f956347f595ce3756efafc52d764459e97cf5b54cce
0fd492c2941d8c648b6ad62ad692eca8b5d279a3b63bcc8e16b75819beef7226
3d281b9581c572e9c94a79b112b57b177bf24fda3d8b36cbca46269a4a2f468d
bd97a3a62c2da6e4bd97532a7bb452a123399a488ed2bd62fd395d28fc52850f
89b0f56debdbdbb66dd9eab57ca45c76fad44c3a5bddb66344eb2b0f6fdf51dd
96cd0d6f2f3bceb0b089a46a86f268ceb0aa9e0d597a3c61c5cdb8524c76f7a4
f4444809e966281c52144d554c550a251ed7b59e5c572e16ebefede92e68da0e
555515e577438a2acb29c3143b57b8f30df603f657b4d78cb18db5e4a091ceef
e9da3336660c6da86e289568eb181a1a1daa5613d5847fdb96a86ed99adb313c
ac6a033b768ce43455cb699991744e239bd3a70d54a9715e921fd93e40c9d591
9c93cde6327d5ab93ce078d12ab77272ae286774cbb0f4396e712b6a1a5be31b
72726a209ca5f03ede656c8aa6f6c53626ac50ac6828e948725b979dbcd89d93
7b4f5831a59832b497075269cd36a3b2d12ced48cac9b1f5b2b13e9c32b58dd1
d443555531cc5ae952244933c2ec7c8d7d9ffd0deb639ba8af03b5449f55b0d2
e9b21e0a95c7464672e51c7535499d4c046755f47484daeff76424e7f554b43d
93d5ca03c3d9a0c323e581916c3693569dbe4cd5cb3630e264551ac011f24235
f71e6e964f527fae9bc9c4665d3f60a52ff39c6217a2c7c8f88c1297f2aa2e29
c601239d4ecad18f48e184a41ab2c2f71b49ad4f36cc94540ca96a2c5d4be931
3da4706db76cbc2b9a94a23149d1e548525e27752763922c499a9530bd9e7ed3
1b5387e67f8d156a515bea9554b5f4f0d6ada952eaae5efa3dbc333caa373cde
50de3d86db07d63a3850ceadf58dba4605fbb40f196356f689cc8eee84ba7e43
54a1918c6ddf28f76db17651ff2e72538ec7c25ce1f291e81f4a4632145642fc
0f8c9495696b792b5b2e2b8a6ca636f59d4bebc9c77b865372a64a9d76c2bb24
3d1e52cd706cb4db8a70595623998899ea166fa208f5ef7becf3f406ec63036c
5d2d9ced8e3ba66d77b36eea9cd731bf676b8d1ed0441755cdefe380e81b8d1a
756e249bdb31f2742caacbb2249b675fb7b27ba2850d7b53f22385a171bef7a1
de483e6a8ec67abbcdcf1bf150c80c5b89ad56766fa53fa490e7fb2a513955a9
d46479d7c0c02e7ab39a9d7fa139f6d76c232bd52cbdac9619cbae4bf5a62c4b
ceca81e3ef2c256aa1e76bc75b34a24d81bb57578cdf5a6fbddce209fe90a13f
5cdecfc79c87c9b10bbc3bbc2f963e5ba4c6eec887d6536bfa53ea6042d2ebc7
4acaa669d9c8db117d20969ece28dc7466176911d0778449ebfd5bec73de3744
3f7d61ee61b3ec717a1fd3da1f9d7ba27afad4e46ce921bb5b89c532d5cc6a8b
b7f9a2c54f9bd5c80e6a20b548cb50e3879d0c85b2d4f83d52ee8ebbc5fee075
239dcb0501d55f32e47b359b4b3b7dde14a2cd4d18778c0c64b37ec991d5c071
cee35bf5a8cea3d56446e3d9ad92939522bd862a298a9a1ce53cabf30ccf687a
44cbe5c3afa468c1f090129165239e34cccc488f4c8b4a0e99295a5db22c87a2
1b5237d6197a543d954eabbffef2d3a6b66f7fb7d2b56d7c3a1d574246249996
e2e97dd998a9cfc6e3f66ff7c4c3da6d33a2c43545e1af1c8f44fb29a085c261
55d31545e289fde1445a35e3b19df18461c4e2f4cd4cf3f26bec8734faebe85b
68923d415f2f23b57533ac78a139f5c491b347a6a68a2959d38a1bfabbbb7716
77ae4d873b177f7b153ece699abf28038fd22cf057644e5ddd77efcfe08dc7bd
fbf2c8da545af3bfbf65d150a9aa57ead1b41ed91ab6b65baace252eab6ac688
27e474fa9261994a2aa1a50d73bb19af46698be29c36916b3cce7319296f8753
e1a811be4423908d24aa6133d453d4c5bccca6e25cd52439ac7d3112b2c29661
d0de16d2a35a241e9333a574341596737db99892a0b430e553544b3f7bc80ceb
f9f8de5c44ce6dca5972ca3452a998a9c523c9c7a3462846be97d4b3b2918a25
a25a389c125fa5e2cdf543f605fadeed613b69479f61a3b5ee3d23a343ea081f
9a993a7a74a82b93191aac6eac8e8cf40ff5dfbbfad6fc9df0d7a198769ae66d
6fb47f0b170e0c07bb3eb9b1aaa673599ab2de9631502d0fe7b474ce73bf2817
ec30a2a058c3abe59ca21c4b2a4a4891e4a42327745db3423ca29bc6809a34fe
4857244a504aebe587c9744aea32785f345993c309dafdb9aca8b19d65ee385a
a42b625086d148bcf886144e59b21c89fdce80dc1d89c4126af831d90847b4f3
1b73dd51b5e7c823b251e88d6ab9442c3dff7b5a24aa87a3b14f984a2ca12755
e5806c881d80d5265ffab5173ff0abef7fdfd2affcf20bbff4def73cffdcb337
df7de3fa334f5fbbfad495cbef7a72f1d2c50b0bf373e75bcd271e3f77f6cce9
46fdb153b333d327a68e1f3b7ae4f0a18307f64f6e28586163902f9be171677c
21bc69902d874d0a9a9b06b9ab8ebb9a67748f576cfa58ac170f9fac4feccb17
8b8dbc53746bae529a10676bbe3db79ad0a02aa81495a52a0e4f3b874f9caedb
13eda6974896997b627efaceb5b420e44ae3337577b242b1bbe2fbbdf85af4c0
7dc90757931ddb6553edf6fc32934b64afe597b917088dbfdca09e341cf77cc5
293af505cabb4c3fca8a33cd710a455643dcde4f35da2b163b4fe7dc63ce0a0f
42a7ebaeddbcd03840b9995472bd637a850d3bcff9e1a66bcfd9b6ab969cf353
f576d1e54d271fc44fd6c963bc956f179da2dd68ac743ed323723b45aa4b6263
cb0ebf7562b9c66f4d9faedfb6e857f2ad99faab1297c69bf409de4f69f5db36
0db8679584551845c416117698d3c8bc2ae95efefced1afd54f75215cfe0c5e7
a8179e4d5fb57136b722f936cb7f50d97b508dbe25e756143fa5b69a5b219bee
db963c9b07f9817c5f0b876a7acda845a4a844de16a657c9f23afd123738fb54
8447797e994a9df4cc2b7c69d9a8e5fd1c4b94a3e6b7f0d6ec9d47cf9eae7f2a
c2a89877a5078d09360d4e2c4bc72ace9df978a24e6e9f58e6c72a4d6f4ecaa5
099b66a35b9bae8b9ccd3ccdc87d9b06c58cb0ebce42de692ca7d3ed6b135483
b3dc52cbcd4adb9f18623a38d62e9a4c72e9e09c33d914396872d371904c73a7
eca67bbe59a1a06d4db627c5d8b5446e965d96e4d232574a7c0fdb437d57236e
d85918734d676c2de551f6a89fa28a14cd197379d6f7dc843361772db6e79cf3
344f6a53f58bf90b8d16d5edd69c96ab3863f965858dd1aceee2d489896576ac
42bd394c33e57865ea0c2d25d173bbddde672fd794726bae25e2fb8ae4897690
e4ecdbd7b8abc484dd766badb926e59868789969bd9071c269d9f3e452ea2ef9
6ada113f0d4f8b3233a7ebedc8bc33ef90436bb5768bba9db7e71af97663ce73
3095a7a6b14d83a13b7b48b08548626596e62ed065c566e79bce79df20d6d0fd
b68bf71b2e50aebb6dce21f138efcebd7bfb9033314f39c4d99a77659a5c457b
bee1cf0f36e5adee9f9889df95c9a631f52a6f5b0fafc67810a3081d6df7e2bd
d14b6bd1497136c96b9bfdb9e22a6531d7ea45f7c9bc7bb95159cbd27297cedb
6ddb727639e2e215de2fcea61ba2c0d25c4b6c21aa987b64384406bb7e9e662f
5538d96cafce382aa694d79ee43e55b9a74adaf8f80c3d5a2a89eeb84b5376b3
61379b64a5a552ccdb6e88eef68596985c62739cf2fb33453b34dd5aed692acb
1af4d0bcabd13e7da1b5e014694f255ba3e17b5fb451a1d6b1e9bacbf2edb6d3
763935b1344999a9fab2ab960f8a1b1dd72a4e6b8106513ccf6e2d786527a9b9
9e77446df909a7d8a02c52c9f325398e76a3f3e232d7a6d9e89ea3d5162a25da
c9b63ddaaebfceced1b6a894e74e3569f3b62d7bd2f686ba45335938e1a08835
a8223fa3511219a9bc7794dd2b95e5735ae98ec53bae56fcccba572bb5ec64dd
9d5acda27907059eaeb8526e27258acef393f40e50bc8112ce0b950e927b6b34
abf2a2b4ed4a33f56078bcf20745d1fcea80f9c5c8e26d9de2e5555c6dafe9b7
d77fa8ea1d11ef304aae5ea28176156a839fac89eedc990414a646fb6564afb9
7e07284c8fb28314af23cd20a29416bc3ef92f2d5bec96f43a6f39e2ccaf74de
98a2b766d31167a3211eaf7b0f1225bcaadb7ec5c25daa487c2b57044ff20f53
1c07bd2edc6d0e7b87e6b559a4f95d0addebf8c07bb73b6f30df73c500316744
2f5f0a5665b0ee16f2eea54665de2fa5063bb84d3b2aeddc7327bc6f8233b41a
9ca246fb18759f5695ed4e57e89de1f5ed25dfab87fcdd41cc4a3ee9b0499a43
41806599cb9c035c5c182d2de7802b51742de4bc2a31ae3b3bc5cd70762e4b5c
a3dd5e6c465634421b7d7bae39efbf4ec9cb6c677eb7f88051bd8136bcb1bd29
b6a6997a28af34bc2953769fad04b3d8bfdeacaca53f2bd6a4b6ea495da4b5d7
12435e75cffa73a31c5c6f56f4b72cd5d67fba87e9c168ba86972676a3b2fe3f
3f4af607e8903f5c8724bfe643fe3e41d6f25cbb2db6b6e57331b14223e504d9
93d4b4516ae468d04af2cd2f5153a6c4a375cfe24569b969a239feb0954c4ab0
28ef67fca96d52a245adf94cdecf45c7ed4e87ddacace6f69d40ed0e97fc791e
2407a5fdd9f96ca541a149713629cba43883956406ab3472dfae1f54ef8fa971
6fa2b3569978d13b6b358ad8328fd097aa920fd113cbb645eedae5f9b34c4da5
787bd732d7ca418690c8209576b5dbe6eafe2fb6ffdbf499c8bc4f40d668df6f
705fa0f1a0b18ebe758a7ebf35ea9983518eaedd8531580ee171d71c17df2fe2
dd648809b099c6f785cf067b8ef7397197633c93588a775bbb84efb5d52de16a
65b5ecaadf2e784b3a287b9f75a6fe025985a73e2bde242ea77ba85c14675eb8
ce7b9a98e3572bc1c7ea0b6274dfef55f7fe8a6d2fd277d638a7af2d7a512e8a
57952d72eb656f936bd307cf62abe5ed43de8f8d2efa963a29be70e93bddb16c
be9bedf67fb238c1af017a0728a5faeefc6883befe573adfec69f85b95442f79
3a67dab66d2528a96d27e9e780fba2e7de20cdf16cf41657cb412ed183176971
8a7c6ff9a75a0f96df82200882200882a0ff7d71138220088220088220088220
0882200882a077ac96fe8ff45d0882200882200882200882200882de69921e81
20e86dd0072108822008822008827e1ac9bb2108822008822008822008822008
8220088220087ac0fa3708822008822008822008822008822008822008822008
8220e8274bf90dc638033f9125167fd04d00000000000000000000000080b703
ce58f841b7010000000000000000000000000000000000000000000000000000
0000003f1b9c31f341b7e1ede49dd61f00000000000000000000000000000000
00000000000000e09d08672cf2a0db0000000008f077d0010000000000000000
0000000000f076823f7b00000000000000000000000000000000000000000000
0000000000000000000000f0ff1dfcdbb3000000000000000000000000000000
00000000000000000000000000000000000000000000000000e0e7853316e60f
ba11bfc0c037000000000000000000000080770a9c31f341b701000000000000
00000000000000000000000000000000000000000000003f1b9c31e341b7e1ed
04ff7d030000000000000000000000000000000000000000000000f08b0f672c
f6a0db0000000008c4ff73f541b7010000000000000000000000000000ef1c38
63f107dd06000000000000000000000000000000000000000000000000000000
000000000000e041827fe70f0000000000000000000000000000000000000000
0000000000000000000000000000000000000000fcbc70c6a2ff055ec9ce30>
endstream
endobj
23 0 obj
[ 71 [ 500 ] 1411 [ 1000 ] 4487 [ 1000 ] 4539 [ 1000 ] 7095 [
1000 ] 7516 [ 1000 ] 9083 [ 1000 ] 12630 [ 1000 ] 16901 [
1000 ] ]
endobj
24 0 obj
<<
/Length 588
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789c5d91dd6ac4201085ef7d0a2fb7174b7e4d520881ba61692efa43d3174874
b2151a23c65ce4ed3bbadb2d5450f83ce7c8cc189dbab6d3cad1e8dd2ea20747
27a5a58575d9ac003ac2456992a4542ae16e144e310f864418eef7d5c1dce969
21751d7da0b63abbd3c3935c467820d19b956095bed04327413be576bcec3763
be6146a631691a2a61c2c75e06f33acc40a3903dfefa8fcf7ffae76e80a68193
6b396291b09a41801df405481de36a687dc6d510d0f29ffe784d8d93f81aac77
e725bae3b8c81b24566548f99965484952798d715606e23c50c53d71eeb58255
416bd9c953999e90d2acf4cea2cdbd334b588154f2b440cad3982155bc65a1ba
5b1dbe4e3fd0fb08c4662d761fa61e1af72d2b0df78f318bf1a9b07f00e3e087
d5>
endstream
endobj
25 0 obj
<<
/Length 588
/Filter [ /ASCIIHexDecode /FlateDecode ]
>>
stream
789c5d91dd6ac4201085ef7d0a2fb7174b7e4d520881ba61692efa43d3174874
b2151a23c65ce4ed3bbadb2d5450f83ce7c8cc189dbab6d3cad1e8dd2ea20747
27a5a58575d9ac003ac2456992a4542ae16e144e310f864418eef7d5c1dce969
21751d7da0b63abbd3c3935c467820d19b956095bed04327413be576bcec3763
be6146a631691a2a61c2c75e06f33acc40a3903dfefa8fcf7ffae76e80a68193
6b396291b09a41801df405481de36a687dc6d510d0f29ffe784d8d93f81aac77
e725bae3b8c81b24566548f99965484952798d715606e23c50c53d71eeb58255
416bd9c953999e90d2acf4cea2cdbd334b588154f2b440cad3982155bc65a1ba
5b1dbe4e3fd0fb08c4662d761fa61e1af72d2b0df78f318bf1a9b07f00e3e087
d5>
endstream
endobj
xref
0 28
0000000005 65535 f
0000000042 00000 n
0000000096 00000 n
0000000162 00000 n
0000000221 00000 n
0000000006 00002 f
0000000026 00002 f
0000000494 00000 n
0000000648 00000 n
0000000789 00000 n
0000000870 00000 n
0000001085 00000 n
0000012318 00000 n
0000012472 00000 n
0000013158 00000 n
0000013418 00000 n
0000018564 00000 n
0000018645 00000 n
0000019194 00000 n
0000019343 00000 n
0000019486 00000 n
0000019568 00000 n
0000019776 00000 n
0000031007 00000 n
0000031161 00000 n
0000031847 00000 n
0000000027 00001 f
0000032533 00001 f
trailer
<<
/Size 28
/Root 1 0 R
/ID [ <BFF25D4F5B2EBB04E02FD2A979A55577> <2760CAE136EBBD2AA8D2AB702637ABC3> ]
>>
startxref
32533
%%EOF
我来逐块分析这个 PDF 文档,并与之前的文档进行比较:
1. 文件头 (Header)
相同:%PDF-1.7 版本,都由 MuPDF 1.27.0 生成
2. 对象定义 (Object Definitions)
重大变化:页面数量恢复为1页
pdf
2 0 obj
<<
/Type /Pages
/Count 1 ← 页数从5变回1
/Kids [ 4 0 R ] ← 只保留对象4作为页面
>>
endobj
页面对象4:现在包含实际内容
pdf
4 0 obj
<<
/Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 595 842 ]
/CropBox [ 0 0 595 842 ]
/Resources <<
/Font <<
/AFSF1 7 0 R ← 添加了字体资源
>>
/ExtGState <<
/JYE1 16 0 R ← 添加了图形状态
>>
/XObject <<
/AFSX1 15 0 R ← 添加了图像对象
>>
>>
/Contents 17 0 R ← 添加了页面内容流
>>
endobj
新增大量对象支持内容显示:
- 字体对象 (7-13): SimSun 宋体字体
- 图像对象 (14-15): 84×50 像素的图像
- 图形状态对象 (16)
- 页面内容流对象 (17)
- 更多字体对象 (18-25): 另一组字体定义
3. 详细对象分析
对象7-13:字体系统1
- 对象7: Type0 字体(SIMSAB+SimSun)
- 对象8: CIDFontType2 字体描述
- 对象9: CID系统信息
- 对象10: 字体描述符
- 对象11: 字体数据流(压缩的字体文件,18MB原始大小)
- 对象12: 字符宽度表
- 对象13: ToUnicode 映射表
对象14-15:图像系统
- 对象14: 灰度蒙版图像(84×50)
- 对象15: RGB图像带蒙版(84×50)
对象17:页面内容
包含实际的绘制指令(已压缩)
对象18-25:字体系统2
- 重复了类似的字体结构,但名称略有不同
4. 交叉引用表 (Cross-Reference Table)
pdf
xref
0 28 ← 对象数量大幅增加到28个
...(省略详细条目)
- 共28个对象(26个在用,2个空闲)
5. 文档尾 (Trailer)
pdf
trailer
<<
/Size 28 ← 大小从13变为28
/Root 1 0 R
/ID [ <BFF25D4F5B2EBB04E02FD2A979A55577> <2760CAE136EBBD2AA8D2AB702637ABC3> ]
>>
startxref
32533 ← 交叉引用表起始位置从935剧增到32533
%%EOF
与之前文档的主要区别:
1. 内容变化:从空页面到有内容的页面
- 之前:5个空页面,无任何资源
- 现在:1个包含内容的页面,有字体、图像和文本
2. 页面数量减少但内容丰富
- 之前 :5页 → 现在:1页
- 虽然页面减少,但单页内容丰富
3. 对象数量大幅增加
- 之前 :13个对象 → 现在:28个对象
- 增加了字体、图像、图形状态等资源对象
4. 文件结构复杂化
- 包含两个字体子系统(对象7-13和18-25)
- 包含图像和蒙版系统
- 包含页面内容流(对象17)
5. 文件大小剧增
- 之前:交叉引用表在935位置
- 现在:交叉引用表在32533位置
- 文件大小增加了约30倍
6. 修改日期变化
- 之前 :
D:20260201101954+08'00'(10:19:54) - 现在 :
D:20260201103648+08'00'(10:36:48) - 相差16分54秒
7. 页面内容分析
- 使用了中文字体(SimSun 宋体)
- 包含84×50像素的图像
- 页面有实际的绘制内容
- 可能包含中文字符
8. 文档ID再次变化
- 与前两个文档都不同
关键特点:
- 中文支持:包含SimSun字体,表明文档包含中文内容
- 图像内容:包含一个84×50的图像
- 真实文档:不再只是框架,而是有实际内容的PDF
- 资源重用:字体数据被压缩存储(FlateDecode)
这是一个包含中文字体和图像的完整PDF文档,与前两个框架文档有本质区别。