%PDF-1.0                     % 文件头,说明符合PDF1.0规范

1 0 obj                          %对象号     产生号(修改次数) 

<<                                 %对象的内容应该是包含在<< 和>>之间的,最后以关键字endobj结束

/Type /Catalog               %对象类型:Catalog(跟对象或者称为目录对象)

/Pages 2 0 R                 %包含的页面对象的对象号是2

/Outlines 3 0 R              %包含的外部引用的对象号是3

>> 

endobj


2 0 obj               

<<                       

/Type /Pages                   %对象类型:页面对象

/Count 1                         %包含的子对象(页对象)1个

/Kids [4 0 R]                  %页的对象号(子页)是4(如果有多个页面,就有多个页面的引用)

>>                                 %例如:/Kids [4 0 R 10 0 R]  说明该页第一个对象号是4,第二个对象号是10

endobj


3 0 obj

<< 

/Type /Outlines            %对象类型:Outlines(书签对象)

/Count 0                           %包含的子对象(书签对象)0个

>> 

endobj

outline


4 0 obj

<< 

/Type /Page                                           %对象类型:page(子页对象)

/Parent 3 0 R                                        %父对象的对象号是3

/Resources << /Font << /F1 7 0 R >> /ProcSet 6 0 R >>         %该页要包含的资源,字体(存放于对象7)和内容样式(存放于对象6)

/MediaBox [0 0 612 792]                                 %该页的显示大小,像素为单位

/Contents 5 0 R                                                 %子叶包含的内容(存储于对象5)

>> 

endobj


5 0 obj

<< /Length 44 >>                            %stream对象的字节数,从BT开始,ET结束,包括中间的行结束符

stream                                              %流对象的开始标志

BT                                                   %文字对象的开始标志

/F1 24 Tf                                         %字体问F1,大小为24

100 100 Td (Hello World) Tj          %100,100为文字放置位置, Td代表相对坐标的意思,Tj说明前边是文本内容

ET                                                   %文字对象的结束标志

endstream                                        %流对象的结束标志

endob


6 0 obj                              

[/PDF /Text]                        %说明仅仅是文本,如果有图片[/PDF /Image]

Endobj


7 0 obj

<< 

/Type /Font                                 %类型是字体对象

/Subtype /Type1                         %

/Name /F1                                  %字体代号?

/BaseFont /Helvetica           %字体名称

 >>

endobj


xref                                        %交叉引用表的开始

0 8                                          %对象号从0开始,一共有8个对象

0000000000 65535 f                 %f表示free 对象0的起始地址0  产生号为65535,这个也是最大号

0000000009 00000 n              %n表示对象在使用,对象1,9表示偏移地址,0表示对象未被修改

0000000074 00000 n              %

0000000120 00000 n              %

0000000179 00000 n              %

0000000322 00000 n              %

0000000415 00000 n            %

0000000445 00000 n            %


Trailer                      %文件尾对象的开始   

<< 

/Size 8                     %pdf的对象数目

/Root 1 0 R             %根对象号为1

>> 

startxref              %

553                          %交叉引用表的偏移地址

%%EOF                  %文件结束标志

trailer

(十二)一个简单的pdf文件体的更多相关文章

  1. 一个简单的makefile文件

    一个简单的makefile文件:可以编译指定目录下的所有c和cpp文件,暂未加入自动头文件的依赖. #!/bin/bash #编译器 CROSS_COMPILING_PATH = #源文件路径 VPA ...

  2. ubuntu14.04 配置g++工具,并运行一个简单的c++文件

    首先,对Ubuntu 14.04 LTS进行源更新,摘自下述链接: http://chenrongya.blog.163.com/blog/static/8747419620143185103297/ ...

  3. salesforce 零基础学习(四十二)简单文件上传下载

    项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...

  4. VS2017生成一个简单的DLL文件 和 LIB文件——C语言

    下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件)和lib文件(静态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件(动态库文件) 生成动态库文件 姿势一 ...

  5. wpf编写一个简单的PDF转换的程序

    wpf 调用Spire.Pdf将PDF文件转换为其他文件模式 首先在Nuget里下载该第三方包Spire.Pdf. 然后可以编写程序 //这里我调用的是解析成流模式,这是因为我要使用ProgressB ...

  6. 扩展Python模块系列(二)----一个简单的例子

    本节使用一个简单的例子引出Python C/C++ API的详细使用方法.针对的是CPython的解释器. 目标:创建一个Python内建模块test,提供一个功能函数distance, 计算空间中两 ...

  7. JBoss 系列七十:一个简单的 CDI Web 应用

    概述 本文通过一个简单的 CDI Web 应用演示dependency injection, scope, qualifiers 以及EL整合.应用部署完成后我们可以通过http://localhos ...

  8. how tomcat works 读书笔记(二)----------一个简单的servlet容器

    app1 (建议读者在看本章之前,先看how tomcat works 读书笔记(一)----------一个简单的web服务器 http://blog.csdn.net/dlf123321/arti ...

  9. 使用go写一个简单的exe文件

    工作需要一个小工具给分析师用,原先打算写一个脚本的,但是呢我又不会用python,要写的话只能用java来实现(打包成可执行jar,使用java -jar 的命令来执行,当然得安装jdk).这种命令行 ...

随机推荐

  1. [Cqoi2016]K远点对 K-Dtree

    4520: [Cqoi2016]K远点对 链接 bzoj 思路 用K-Dtree求点的最远距离. 求的时候顺便维护一个大小为2k的小根堆. 不知道为啥一定会对. 代码 #include <bit ...

  2. fork,vfork

    转自 http://blog.csdn.net/todd911/article/details/14062103 1.fork函数 一个现有的进程可以调用fork函数创建一个新的子进程. #inclu ...

  3. 【11NOIP提高组】选择客栈(信息学奥赛一本通 1546)(洛谷 1311)

    题目描述 丽江河边有nn家很有特色的客栈,客栈按照其位置顺序从 11到nn编号.每家客栈都按照某一种色调进行装饰(总共 kk 种,用整数 00 ~k-1k−1 表示),且每家客栈都设有一家咖啡店,每家 ...

  4. salt-master命令详解

    **salt-master命令** 命令行官网学习网站:http://docs.saltstack.cn/ref/cli/index.html salt salt-call salt-cp salt- ...

  5. centos如何添加ftp目录

    检查Centos服务器中是否安装了vsftpd rpm -qa |grep vsftpd 如果没有显示则没有安装 2.安装vsftpd yum -y install vsftpd 3.打开vsftpd ...

  6. JavaScript 工厂模式

    //工厂 function FruitMaker() { //function 后不带方法名,这里cococola未定义,make return时,返回 FruitMaker.cococola thi ...

  7. NodeJs FS 文件系统模块

    1. fs.stat 检测是文件还是目录 fs.stat('html',function(err,stats){ if(err){ console.log(err); return false; } ...

  8. HTML+CSS实现鼠标点上去动画效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 【转载】 GPU状态监测 nvidia-smi 命令详解

    原文地址: https://blog.csdn.net/huangfei711/article/details/79230446 ----------------------------------- ...

  10. IntelliJ IDEA 安装使用 FindBugs 代码分析详述

    1 下载 2 重启idea 选中文件,右键 附:一些常见的错误信息 Bad practice 代码中的一些坏习惯 Class names should start with an upper case ...