PDF 分页 字体 标签 详解
来源:互联网 发布:大数据金融运行模式 编辑:程序博客网 时间:2024/05/06 22:07
%PDF-1.6 PDF版本号
---------------------------------------------------------------------------------
1 0 obj
<< /Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>>
endobj
前面那个1 是对象号 0 代表 如果这个对象被修改将会增加1 后面的obj是关键字 (记住咯 下面就不讲了)
<< >> 字典符号 用于括内容
其中,“/Type /Catalog”说明了该对象的类型是/Catalog(即“目录”对象),它是PDF文档的根对象。
“/Type”中除了有“/Catalog(目录对象)”外,还有“/Outlines(书签大纲对象)”、“/Pages (页面组对象)”以及“页面组对象/Pages”中含有的若干“/Page(页面对象)”等。
“2 0 R”和“3 0 R”都是对对象的“间接引用”。“2 0 R”就是在引用“2 0 obj”对象,“3 0 R”就是在引用“3 0 obj”对象。
---------------------------------------------------------------------------------
2 0 obj
<< /Type /Outlines
/First 10 0 R
/Last 11 0 R
/Count 2
>>
endobj
标签对象
/First 是第一个标签的意思 引用 第10个对象
/Last 最后一个标签 引用的是 第11个对象
/Count 是标签数量
----------------------------------------------------------------------------------
3 0 obj
<< /Type /Pages
/Kids [ 4 0 R 8 0 R ]
/Count 2
>>
页数组 对象 用来记录 多少个页
--------------------------------------------------------------------------------
4 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [ 0 0 612 792 ]
/Contents 5 0 R
/Resources << /ProcSet 6 0 R
/Font << /F1 7 0 R >> >>
>>
endobj
页对象
/Parent是指向哪个页数组对象 这里是3 对象 同样 3对象里的页数组里也包含 4对象
/MediaBox 设置页面 大小
/Contents 内容显示 对象5
/Resources 指定输入的类型 对象6
/Font 字体
---------------------------------------------------------------------------------
5 0 obj
<< /Length 73 >>
stream
BT
/F1 28 Tf
100 600 Td
5 Tr
50 Tz
30 Tw
1 0 0 rg
0 0 1 RG
(Hello Xiao Hui!)Tj
ET
endstream
endobj
页面输入内容对象
/Length 内容的长度
stream endstream 关键字 内容流对
BT ET 字体关键字对
/F1 28 Tf 指定字体 大小
100 600 Td 指定字体在页面的所在位置
5 Tr 50 Tz 30 Tw 1 0 0 rg 0 0 1 RG 字体样式
(Hello Xiao Hui!)Tj 输入内容
-------------------------------------------------------------------------------------
6 0 obj
[ /PDF /Text ]
endobj
输入内容的类型
--------------------------------------------------------------------------------------
7 0 obj
<< /Type/Font/Subtype/Type1/Name/F1/BaseFont/Helvetica/Encoding/MacRomanEncodin
>>
endobj
字体的样式
-------------------------------------------------------------------------------------
8 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [ 0 0 612 792 ]
/Contents 9 0 R
/Resources << /ProcSet 6 0 R
/Font << /F1 7 0 R >> >>
>>
endobj
第二页内容 引用 对象9里的内容 详解看对象4
------------------------------------------------------------------------------------
9 0 obj
<< /Length 73 >>
stream
BT
/F1 38 Tf
100 100 Td
2 Tr
50 Ts
5 Tc
1 0 0 rg
0 0 1 RG
(Hello Hai Ming!)Tj
ET
endstream
endobj
第二页 所显示的内容 详解看 对象5
--------------------------------------------------------------------------------
10 0 obj
<< /Title (xiaohui)/Parent 2 0 R/A 13 0 R /Next 11 0 R /First 16 0 R /Last 16 0 R /Count 1>>
开头标签
/Title 标签名
/Parent 指定标签属于哪个对象 这里指 对象2
/A 点击触发事件
/Next 指定下个标签 (必须有这个 要不下面的标签出不来)
/First /Last 子级标签的 头 和尾
/Count 标签数量
--------------------------------------------------------------------------------
11 0 obj
<< /Title (xiaojie)/A 12 0 R /Parent 2 0 R /Prev 10 0 R /F 0/C[ 0 0 0]
>>
endobj
尾标签
意思同上
/Prev 指定上一个标签 (必须有)
---------------------------------------------------------------------------------
12 0 obj
<</Type/Action/S/GoTo/D 14 0 R>>
endobj
对象10 的触发事件
-------------------------------------------------------------------------------
13 0 obj
<</Type/Action/S/GoTo/D 15 0 R>>
endobj
对象11 的触发事件
---------------------------------------------------------------------------------
14 0 obj
[ 8 0 R/FitH 418.17]
endobj
当点击xiaohui标签的时候 页面将跳到 对象14里的方位
--------------------------------------------------------------------------------
15 0 obj
[ 4 0 R/FitH 701.125]
endobj
当点击haiming 和xiao jie标签的时候 页面将跳到 对象15里的方位
--------------------------------------------------------------------------------
16 0 obj
<< /Title (HAI Ming)/A 12 0 R /Parent 1 0 R /F 0/C[ 0 0 0]
>>
endobj
标签 xiaohui 的子标签
-------------------------------------------------------------------------------
xref
0 18
0000000000 65535 f
0000000009 00000 n
0000000074 00000 n
0000000120 00000 n
0000000179 00000 n
0000000322 00000 n
0000000422 00000 n
0000000364 00000 n
0000000466 00000 n
0000000496 00000 n
0000000555 00000 n
0000000666 00000 n
0000000411 00000 n
0000000377 00000 n
0000000454 00000 n
0000000423 00000 n
0000000511 00000 n
0000000644 00000 n
交叉引用表如果这个表被破坏,那整个PDF文档就不能被Adobe Acrobat Reader打开了,但Foxit Reader的容错率比较强,它还是可以打开的,所以建议大家把上面的文件保存后,用Foxit Reader打开
第二行“0 18”这两个数,第一个“0”表示“交叉引用表”的起始对象号(这个文件是0,为PDF自定义的对象0,无特殊作用),第二个“18”表示“交叉引用表”的对象总数(包含刚才自定义的0对象)。
其余的行,每行为一个对象。
“0000000000 65535 f”这一行比较特殊。“0000000000”表示该对象在的起始位置为0,生成数为65535,f表示该对象未被引用,这是PDF的规定。
剩下的行中,n表示该对象已被引用
----------------------------------------------------------------------------------------------
trailer
<< /Size 18
/Root 1 0 R
>>
startxref
625
%%EOF
这是PDF文件的“文件尾”部分,以trailer对象的开始,“trailer << >>”里面是一个字典
“/Size 18”表示该PDF文件中的obj对象总数。
“/Root 1 0 R”表示该PDF文件中的根对象,为“1 0 obj”。
“Startxref 625”表示“交叉引用表”的偏移地址,可以用它来定位PDF文档中所有的对象的相对地址。
一般放在文件最后,是文件结束标志。
- PDF 分页 字体 标签 详解
- 自定义分页标签详解
- PDF生成嵌套表格,分页,自定义字体等综合应用
- dede列表分页问题解决Pagelist标签详解
- PDF文件字体嵌入
- 分页标签
- 标签分页
- 标签分页
- 分页标签
- dede sql 标签 取出来的列表 实现分页 详解
- 如何修改DeDe标签Pagelist分页样式详解
- 基于mySql的JAVA分页自定义标签详解
- itext pdf 分页
- itext pdf 分页
- iText 生成pdf分页
- 设置PDF连续分页
- 给pdf加标签
- actuate生成pdf字体处理
- 大学里怎么样才能让人刮目相看?
- ecplise ant 中文问题
- Java 设计模试之Strategy Pattern
- SQL Server 索引基础知识(5)----理解newid()和newsequentialid()
- cache思考
- PDF 分页 字体 标签 详解
- Oracle删除重复记录的方法
- textarea 保存在展示时保存回车
- 纠结着~~~~~~~~~~
- android通过拼写字符串获取资源文件
- PJMEDIA 延迟缓冲区实现
- 嬉笑程序第一篇:求购二手女程序员一名(一手最好)
- Apache规则RewriteCond详解
- 测试理论学习笔记一:测试的基本认识