(计算机应用技术专业论文)pdf文档的生成与原始性验证研究.pdf_第1页
(计算机应用技术专业论文)pdf文档的生成与原始性验证研究.pdf_第2页
(计算机应用技术专业论文)pdf文档的生成与原始性验证研究.pdf_第3页
(计算机应用技术专业论文)pdf文档的生成与原始性验证研究.pdf_第4页
(计算机应用技术专业论文)pdf文档的生成与原始性验证研究.pdf_第5页
已阅读5页,还剩95页未读 继续免费阅读

(计算机应用技术专业论文)pdf文档的生成与原始性验证研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 p d f 格式文件目前己成为数字化信息事实上的一个工业标准,它的跨媒体、跨平台、 安全性使其在网络中应用越来越广泛,对其研究显得日益重要。 如何生成p d f 文件在国内研究的较少,本文探讨了p d f 文件的生成方法,详细介绍 了p d f 文件格式,p d f 文件的特点及应用,通过一个p d f 文件实例分析了其组成结构; 通过实验说明如何利用开源软件i t e x t s h a r p 生成p d f 文件。 在实际使用p d f 文件的过程中,如何防止p d f 文件被篡改也是一个非常重要的研究 课题,本文我们可以在p d f 文件上加一个标记,如果这个标记的值发生了变化就说明这 个文档被篡改过了,而这个文件就不是最原始的文件了。 本文通过利用m d 5 值对p d f 文档进行原始性验证,m d 5 值最大的特点就是对一个文 件所取的m d 5 码总是唯一的,文件如果被改动,其m d 5 码也会发生变化,这样我们只要 核对p d f 文件的m d 5 码就可以证明所使用的p d f 文件是否是真实的、原始的。 具体方法有两种,一种是对发布的p d f 文件计算其m d 5 值,然后直接将岫5 码也随 同p d f 文件一同发布,这样其它用户在得到p d f 文件的时候可以通过计算其m d 5 码来确 认文档的真实性。随着p d f 文件发布的增多,需要建立一个网站和数据库专门发布和存 放p d f 文件及m d 5 码,这样实现起来还是很容易的。 第二种是借用数字水印的思路,我们可以将这个1 4 9 5 写到文件的一个隐藏区,一 般二进制文件格式都有文件头和文件体部分、文件尾三个部分,而文件头、尾是用户看 不到的,一般也会预留一部分字节用于以后扩展,或可以在文件头写入特殊标记的数据。 通过对前面p d f 文件格式的分析,将这个m d 5 写在文件尾。然后对p d f 文件流计算m d 5 值,然后将该文件流和m d 5 值一起写到硬盘上,形成一个添加了m d 5 值的p d f 文件。文 件可以正常打开和使用,而且别人也不会看到添加的这个蛐5 值。通过实验观察了在不 同环境下操作p d f 文件对其m d 5 码的影响。 通过实验得出结论:利用开源软件i t t e x t s h a r p 可以很方便生成p d f 文件,也能很 好地支持中文。利用m d 5 码可以验证一个p d f 文件的原始性和真实性,而p d f 文件只要 不改变其本身,它的m d 5 码在实验中列出的操作环境下都不会改变。在此基础上提出了 如何使用本文方法的策略,所以本文对我国使用p d f 文件降低办公成本是有实际意义的。 关键宇:p d f 文件p d f 文件生成晔it e x t s h a r pl i d 5 水印原始性验证 a b s t r a c t p d ff o r m a td o c u m e n tc u r r e n t l yh a sb e c o m en u m e r a lt ot u r na ni n f o r m a t i o n i nf a c to fa ni n d u s t r ys t a n d a r d ,i to fa c r o s sm e d i u m , c r o s s - p l a t f o r m ,s a f e t yt o m a k ei ta l la p p l i c a t i o ni nt h en e t w o r km o r ea n dm o r ee x t e n s i v e a st oi t ss t u d yt o s e e mt ob ed a yb yd a yi m p o r t a n t h o wb o r np d fd o c u m e n t sl e s si nl o c a lr e s e a r c hi s t h i st e x ti n q u i r i e di n t o t h eb o r nm e t h o do fp d fd o c u m e n t ,i n t r o d u c e dap d fd o c u m e n taf o r m a ti n d e t a i l ,c h a r a c t e r i s t i c sa n da p p l i c a t i o no fp d fd o c u m e n t ,p a s s e dap d fd o c u m e n t as o l i de x a m p l ea n a l y s i si tt oc o n s t i t u t es l n m t t t r e ;p a s se x p e r i m e n te l u c i d a t i o n h o wt om a k eu s eo ft oo p e nt h es o u r c es o f t w a r eb o r np d fd o c u m e n to ft h e i t e x t s h a r p i nt h ea c t u a lu s a g ep d ft h ep r o c e s so ft h ed o c u m e n t ,h o wp r e v e n t 。f r o ma p d fd o c u m e n tb e i n gd i s t o r ti sa l s oac o u n tf o rm u c hr e s e a r c ht o p i c t h i st e x tw e c a l la d dam a r k i n go nt h ep d fd o c u m e n t ,i ft h ev a l u eo ft h i sm a r k i n gt o o kp l a c e v a r i e t ya n dt h e ne x p l a i nt h i st e x tf i l e i sd i s t o r t e d ,b u tt h i sd o c u m e n tw a s n tt h e m o s to r i 百i l a ld o c u m e n t t h i st e x tp a s s e st om a k eu s eo fm d 5v a h e s e st oc a r r yo na no r i g i n a ls e x v e r i f i c a t i o nt ot h ep d ft e x tf i l e m d 5 。sv a l u e s b i g g e s tc h a r a c t e r i s t i c si st ot a k e m d 5c o d e s e st oad o c u m e n t , a n di tt h i sc o d eb eu n i q u e ,i ft h ed o c u m e n ti s c h a n g et om o v e ,i tt h em d 5c o d e s e sw i l la l s ot a k ep l a c ev a r i e t y ,s ow ea sl o n g a sc h e c kt h em d 5c o d e s e so fp d fd o c u m e n tc a np r o v ew h e t h e rt h ep d f d o c u m e n tu s ei st r u ea n do r i g i n a lo rn o t t h ec o n c r e t em e t h o dc o n t a i n s2k i n d s 1l 【i n di sc o m p u t ei t sm d 5v a l u e s t o w a r d sr e l e a s eo fp d fd o c u m e n t ,t h e nd i r e c tm d 5c o d e sa l s ot o g e t h e rw i t ht h e p d fd o c u m e n tt o g e t h e rr e l e a s e s s oo t h e rc u s t o m e r sc a np a s st oc o m p u t ei t s m d 5c o d e s e s e st oc o n f i r mt h er e l i a b i l i t yo ft e x tf i l ea tt h et i m eo fg e t t i n gap d f d o c u m e n t b e c a u s et h ep d fd o c u m e n tr e l e a s eo fi n c r e a s e ,n e e dt ob u i l du pa w e b s i t ea n dd a t a b a s et oe x c l u s i v e l yr e l e a s ea n dd e p o s i tp d fd o c u m e n ta n d m d 5e o d e s e s s oc a l t yo u ts t i l l v e r ye a s yo f b e i n gl i k e t of a c et op u b l i c m o r g a n i z a t i o nc a na d o p tt h i sk i n do fw a y ,l i k eg o v e r n m e n ta g e n c y ,c o u r t ,l i s t e d c o m p a n y e t e 1 1 1 es e c o n di st h ew a yo ft h i n k i n gw h i c hu s e sn u m e r i c a lw a t e r m a r k w ec a l l w r i t et h i sm d 5t o1o fd o c u m e n tt oc o n c e a la r e a , t h eg e n e r a lb i n a r ys y s t e m d o c u m e n tf o r m a th a sd o c u m e n th e a da n dd o c u m e n tb o d yp a r t d o c u m e n tt a i l t h r e ep a r t s ,a n dt h ed o c u m e n th e a d ,t a i lb ew h a tc u s t o m e rc o u l dn o t e , g e n e r a l l yw i l la l s or e s e r v eap a r to fw o r d st or e d u c ee x p e n s e si n h e r e a f t e r e x p a n d o rc a na td o c u m e n tl l e a dt h ed a t aw h i c hw r i t ei ns p e c i a lm a r k i n g p a s s t h ea n a l y s i st ot h ef r o n tp d fd o c u m e n tf o r m a t t h i sm d 5w r i t ei nt h ed o c u m e n t t a i l h e n c ef l o wt h ec a l c u l a t i o nm d 5v a l u e st ot h ep d fd o c u m e n t , t h e nf l o wt h a t d o c u m e n ta n dm d 5t oh ew o r t ht ow r i t eh a r dd r i v et o g e t h e r , b e c o m eap d f d o c u m e n tw h i c ha d d e dm d 5v a l u e s t h ed o c u m e n tc a nn o r m a l l yo p e nw i t h u s a g e ,a n dt h eo t h e rp e o p l ec a n ts e ea d d ,e i t h e ro ft h i sm d 5v a l u e s ,o b s e r v e d o p e r a t i o np d fad o c u m e n tt h r o u l g ha l le x p e r i m e n ta st oi t su n d e rt h ed i f f e r e n t e n v i r o n m e n tt h ei n f l u e n c eo ft h em d 5c o d e s e s p a s sa n e x p e r i m e n tc o n c l u s i o n :t h ee x p l o i t a t i o no p e n ss o u r c e s o f t w a r e i t t e x t s h a r pc a nv e r ye x p e d i e n t l yb o r np d fd o c u m e n t c a na l s on i c e l ys u p p o r t c h i n e s e m a k eu s eo ft h em d 5c o d e s e sc a nv e r i f yo r i g i n a l i t ya n dr e l i a b i l i t yo fa p d fd o c u m e n t ,b u tp d fd o c u m e n ta sl o n ga sd o n 、c h a n g ei t ,i to ft h em d 5 c o d e s e sl i s ti nt h ee x p e r i m e n to fo p e r a t i o ne n v i r o n m e n t sb e i n gn e x tw i l ln o t c h a n g e p u tf o r w a r do nt h i sf o u n d a t i o nh o wt ou s et h es t r a t e g yo ft h i st e x t m e t h o d , s ot h i st e x tl o w e r st ot r a n s a c tc o s tt oh a v ea c t u a lm e a n i n gt ot h eo u r c o u n t r yu s a g ep d f d o c u m e n t k e yw o r d :t h ep d fd o c u m e n t ,p d fd o c u m e n tb o r n ,c 拌,i t e x t s h a r p ,m d 5 , t h ew a t e r m a r k s ,o r i g i n a l i t yo f t h ei d e n t i f y i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包括其他人已经发表 或撰写过的研究成果,也不包含为获得西北师范大学或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说 明并表示了谢意。 签名: 日期:幽丝:彩 关于论文使用授权的说明 本人完全了解西北师范大学有关保留、使用学位论文的规定,即:学校有权保留 送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可 以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:多季釜纪孕导师签名;兰如 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 第一章绪论 1 1 研究背景和目的 随着a d o b e 公司的p d f 文档格式在信息传输中使用的日益广泛,人们对p d f 文档格 式的使用越来越重视,无论是m i c r o s o f t 系列的软件、c o r e l 系列、a d o b e 系列, 都 将支持p d f 文档格式的产生、修改、编辑以及输出,微软己宣布在o f f i c e l 2 中支持p d f 。 但就目前来说,除了a d o b ea c r o b a t 系列有完整的功能以外,其它软件的功能都还尚 未健全。据a d o b e 公司介绍a d o b ep d f 文档已是价值4 0 0 0 亿美元的出版业新兴的工 作流程标准。它还在金融服务业、政府调控性行业和政府部门发挥着重要作用, 世界 各地有1 5 5 家以上政府机构都在共同使用p d f 文档。 中国经济发展日益和世界接轨,在信息交流和传递中使用国际上标准的文档格式也 是必然的。在上海证券交易所和深圳证券交易所上市的所有上市公司年报信息披露都已 采用p d f 格式供广大股民浏览;国内几百家报纸的电子版也已采用p d f 格式供读者浏览, 包括人民日报、光明日报、文汇报、南方周末等大报;越来越多的产品使用说明已不再 印制成册,而是以p d f 格式放在存储介质上或网站上供使用者参考,象尼康、爱普生等 等;在印刷领域,p d f 格式的使用可以说是一支独放,尤其是新兴的短板印刷行业,设 计师用p d f 格式来传递和输出作品。 为了提高效率、降低能耗,各级政府、组织以及企事业单位都在推行无纸化办公, 而根据p d f 文档格式的特点,这是一种最适合在工作流中被使用的文档格式。 目前,对于p d f 文件的生成主要还是国外的软件,并且绝大多数都是收费软件。好 在随着开源软件的出现,我们可以利用开源软件很方便地生成p d f 文件。 另外,p d f 文件的安全性己经很高,而且不容易被修改。根据分析,在很多场合使 用p d f 文档主要是确认其的原始性和真实性,像政府文件、法庭证据、财务凭据等。 本文讨论了利用开源软件i t e x t s h a r p 和c 生成p d f 文档的方法并做了实验,又讨论了 利用m d 5 码对p d f 文档进行原始性验证的方法并做了实验。最终得到结论,使用本文提 出的方法对p d f 文件的定制生成和p d f 文件原始性验证具有实用意义。 本文第一部分对p d f 文件格式和应用作了介绍,利用个例子分析了p i ) f 文件格式 的结构。第二部分对开源软件i t e x t s h a r p 作了介绍,说明了i t e x t s h a r p 生成各种p d f 文档元素的方法并给出了实验。第三部分对m i ) 5 码作了介绍,设计了利用m d 5 码对p d f 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 文件进行原始性认证的方法,对不同情况下操作p d f 文件而m d 5 是否发生变化作了实验 并给出结论。 1 2p d f 文件简介 p d f 全称p o r t a b l ed o c u m e n tf o r m a t ,中文直译为“可移植文件格式”,是a d o b e 公司开发的电子文件格式l l l 。这种文件格式与操作系统平台无关,也就是说,p d f 文件 不管是在w i n d o w s ,u n i x 还是在苹果公司的m a co s 操作系统中都是通用的。这一特点 使它成为在i n t e r n e t 上进行电子文档发行和数字化信息传播的理想文档格式。越来越 多的电子图书、产品说明、公司文告、网络资料、电子邮件开始使用p d f 格式文件。a d o b e 公司打着。跨文字、跨语言、跨平台、跨媒体、跨软件、跨世纪的电子文档交换格式” 以及“这就是未来”的口号,让它能够确保文字、图像文档不受计算机软件环境的限制, 成为一种易于交流的文档格式,并被广泛应用于印刷出版、电子出版和网络出版,使它 带有跨媒体出版的特点它可以将原文档内的字体、影像、向量图形转换成适合多种用 途的文档格式也就是说,同一文档可被应用于不同的输出方式,例如数码打印、拼 版、胶片输出、数码印刷、网上传送、浏览及电子书等p d f 文档是一种开放式电子文 档格式,它的主要目的是要在各种不同的计算机平台创造出一个共通的文档格式,就 是希望不管在哪一种电脑上制作的文档,只要能转成p d f 格式,拿到另一种电脑上就 能毫无困难地打开阅读更能维持当时制作的格式与版面,看起来跟原来的格式一模一 样p d f 格式的出现,使一个文档在不同平台上畅行无阻,而且看到的样子都一样,再 也不用花力气把文档格式转来转去了。 a d o b e 公司设计p d f 文件格式的目的是为了支持跨平台上的,多媒体集成的信息出 版和发布,尤其是提供对网络信息发布的支持。为了达到此目的,p d f 具有许多其他电 子文档格式无法相比的优点。p d f 文件格式可以将文字、字型、格式、颜色及独立于设 备和分辨率的图形图像等封装在一个文件中【2 l 。该格式文件还可以包含超文本链接、声 音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。p d f 格式文件 目前已成为数字化信息事实上的一个工业标准。 p d f 文件使用了工业标准的压缩算法,通常比p o s t s c r i p t 文件小,易于传输与储存 它还是页独立的,一个p d f 文件包含一个或多个“页”,可以单独处理各页,特别适合 多处理器系统的工作。此外,一个p d f 文件还包含文件中所使用的p d f 格式版本,以及 文件中一些重要结构的定位信息。正是由于p d f 文件的种种优点,它在出版业中占有重 要的位置。 2 西北师范大学致信学院硕士学位论文p d f 文件的生成与原始性验证研究 对普通读者而言,用p d f 制作的电子书具有纸版书的质感和阅读效果,可以“逼真 地”展现原书的原貌1 3 i ,而显示大小可任意调节,给读者提供了个性化的阅读方式。由 于p d f 文件可以不依赖操作系统的语言和字体及显示设备,阅读起来很方便。这些优点 使读者能很快适应电子阅读与网上阅读,无疑有利于计算机与网络在日常生活中的普 及。a d o b e 公司以p d f 文件技术为核心,提供了一整套电子和网络出版解决方案,其中 包括用于生成和阅读p d f 文件的商业软件a c r o b a t 和用于编辑制作p i ) f 文件的 i l l u s t r a t o r 等。a d o b e 还提供了用于阅读和打印亚洲文字,即中日韩文字所需的字型 包。 p d f 的优点在于这种格式的电子读物美观【4 1 、便于浏览、安全性很高。而且它支持 由x m l 动态生成p d f 格式文件,所以在网络上的应用范围越来越广。 p d f 可以用a d o b e 公司的a r c o b a tr e a d e r 软件( 该软件免费) 阅读。还有现在很多 厂家的产品也能够浏览p d f ,比如w i n d o w s 平台下的a p a b ir e a d e r 、f o x i tr e a d e r ,l i n u x 平台下的k p d f 等等。 对p d f 描述最详细的应该是a d o b e 公司发行的p d f _ r e f e r e n c e ,更多信息可以访问 a d o b ei 自点:b p ;! 塑! :! d ! b ! :q 巫。 p d f 的特点可以归纳如下【习:可传递性。p d f 文件支持7 位a s c i i 码和二进制码这 两种编码方式,可以正确地在各种网络环境下进行传输。支持交互操作。p d f 包含了 交互表单和超链接等交互对象。支持声音、动画。支持对页面内容的随机存取,提 高了页面的各种操作速度。支持不断追加的修改方式,以便于少量修改和提高效率。 支持多种压缩编码方式,文件结构更加紧凑。字体无关性。p d f 文件中可以自带字 库描述信息,以便于在用户系统缺乏所需字体的情况下,仍然能够保证文档的正确显示。 平台无关性。p d f 文件具有软、硬件的平台独立性。这个特点非常适合于网络传递中 的信息交换,以免除乱码的苦恼。安全性控制。p d f 文件支持各种不同级别的安全性 控制,这种安全性控制对于保护电子出版物的版权是非常重要的,我们可根据各种不同 电子出版物的安全性要求来进行不同级别的安全设置。 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 1 3p d f 文件格式解析 1 3 1p d f 文件的结构 1 3 1 1p d f 文件结构概览 p d f 文件依赖于p o s t s c r i p t 的图像模型,对文本和图像用设备无关和资源无关的语 法进行描述。为了提高交互速度,p i ) f 定义了一些不同于p o s t s c r t p i 的格式。p d f 支持 对象,比如注释和超链接,他们不是页面的组成部分,但是对于交互式显示非常重要。 p d f 文件是用一系列编号的对象来建立的。文本,图形和图像等对象用p s o s t s c r i p t 语言组织成页面【6 j 。 但是p d f 文件不是一个p o s t s c r i p t 语言程序,也不能直接用p o s t s c r i p t 解释器来 解释。但是p d f 文件的页面描述信息是可以转换成p o s t s c r i p t 程序的。 坐标系统:p d f 的坐标系统定义了一个画布,用来显示你的p d f 文档。文本、 图形和图像在页面上的位置、方向和大小都是用这个坐标系统来定义的。p d f 支持几种坐标系统,他们大部分和p o s t s c r i p t 的坐标系统相同。 对象:p d f 支持7 种类型的对象,b o o l e a n s ,n u m b e r s ,s t r i n g s ,n a m e s ,a r r a y s , d i c t i o n a r i e s 和s t r e a m s 。 b o o l r a n s 就是t r u e 和f a l s e 。 一n u m b e r ,p d f 同时支持两种数字,整数和实数,但是不支持指数格式的实数 ( 科学计数法) 。 - s t r i n g 和t e x t ,s t r i n g 就是用”( ”和”) ”包括起来的字符串,如果字符 串太长可以在行尾加上,表明下一行和本行是连在一起的。 - t e x t 一般用p d f d o c e n c o d i n g 或者u n i c o d e 来进行编码。p d f d o c e n c o d i n g 是i s o l a t i n l 的一个超集,在0 - 2 5 5 的编码上p d f d o c e n c o d i n g 和u n i c o d e 是兼容的,如果t e x t 是用u n i c o d e 编码的,那么t e x t 的前两个字节必须 是 f ef f 。 f ef f 代表u n i c o d e 的高位字节必须在前,t e x t 还可以包含 一个换码序列来标明t e x t 使用的语言。换码序列必须用u n i c o d e 的1 6 进 制值u + 0 0 1 b 开头,后面跟随两个由i s 0 6 3 9 标准定义的表示语言的a s c i i 代码,然后可选择的,跟随两个由i s 0 3 1 6 6 定义的表示国家的a s c i i 代码。 汉语的语言编号是z h ,中国的编号是c n 。 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 _ n a m e 就是一个用于开头的s t r i n g 。 - a r r a y 就是一个对象的序列。一个a r r a y 可以有多种类型的对象在其中。用” ”开头,用” ”结束。 _ d i c t i o n a r y 对象是p d f 文档的主要构成部分。p d f 文档的很多部分,比如 页面、字体,都是用d i c t i o n a r y 来表现的。 s t r e a m 和s t r i n g 一样就是一个字符的序列。然而应用程序可以读取s t r e a m 的一个部分,但是读取s t r i n g 就必须读取整个s t r i n g 。所以,尺寸大的数 据,比如图像或者页面描述,一般用s t r e a m 来表现。一个s t r e a m 包含一 个d i c t i o n a r y ,后面是关键字s t r e a m ,然后是0 行或者多行的字符序列, 后面是关键字e n d s t r e a m 。所有的s t r e a m 必须是间接对象。s t r e a m 的 d i c t i o n a r y 必须是一个直接对象。关键字s t r e a m 和s t r e a m 的d i c t i o n a r y 之间必须用回车换行符来分割而不能仅仅用换行符。 直接对象就是b o o l e a n 、n u m b e r 、s t r i n g 、n a m e 、a r r a y 、d i c t i o n a r y 、s t r e a m 或 者n u l l 。个间接对象就是一个直接对象加上了一个标签,这样就可以被其他的对象 所引用。任何类型的对象都可以被标签为间接对象。间接对象非常有用,比如,你可以 把s t r e a m 的l e n g t hk e y 设定为了一个间接对象,这样长度可以保存在s t r e a m 后面。 这样可以让应用程序用一个流程来生成一个p d f 文件。 一个间接对象包括一个对象标识符,一个直接对象和一个e n d o b j 关键字。对象标 识符包括一个整数的对象编号,一个整数的生成编号,和一个o b j 关键字。 a d o b e 的p d f 参考告诉我们一个p d f 文件可以通过下面4 个方面来理解: 对象,一个p d f 文档是由一个由基本数据类型组成的数据结构。 文件( 物理结构) ,决定对象是如何存放在一个p i ) f 文件中的,它们是如何被 访问的,如何被更新的。这个结构是独立于对象的语义的。 文档结构,说明一些基本的对象类型是如何来表现p d f 文档的成分的:页,字 体,批注,和另外一些内容 内容流一个p d f 文件内容流包含一系列的指令,描述页面的外观或其他图形实体的外 观和文件内容。 t 3 1 2p d f 格式和h t m l ,x m l 格式 一个p d f 文档从根本上来说是一个8 字节序。其实p d f 格式和我们已经熟知的h t m l , x g l 等结构化的文件格式一样,包含有关键字m ,分隔符,数据等等。不同的是p d f 文 西北师范大学致信学院硕士学位论文p d f 文件的生成与原始性验证研究 件是按照二进制流的方式保存的,而h t m l 文件则是文本方式保存的。x m l 文件一般只包 含数据本身,并没有把如何显示的信息放在其中,因此要显示一个x m l 文件还需要一个 s c h e m a 文件才能显示,否则看到的将是所有的字节流;h t m l 包含了数据的同时也包含 了一些关于如何显示的信息,但是h t m l 是基于文本存放的,是可读的,你打开一个h t m l 文件就能知道所有显示在浏览器里得文字。另外就是h t 札不能包含二进制流它对图 像文件的引用都是通过链接的,全部是外部文件的方式来实现的。 1 3 1 3p d f 规范的发展 p d f 规范从1 9 9 3 年到现在,已经有过8 个版本,七次版本升级,从最初的p d f l 0 6 版本到现在的p d f i 7 。每次的版本升级都会加入一些新的特性,p d f 参考说明书也是从 最初的1 0 0 多页到现在的1 0 0 0 多页,但是p d f 文件格式的主要特性还是没有改变,可 以这么理解,p d f i 6 是p d f i 0 的扩展集,学习了p d f l 0 以后也能基本上理解p d f i 7 的内容i 耵。因此下面的例子是基于一个p d f l 0 的最简单的一个p d f 文件的分析。 p d f 规范的发展升级: 1 11 9 9 5 加入了文档加密( 4 0 字节) ,线索树,名字树,链接,设备独立色彩资源。 1 21 9 9 6 表单,半色调屏幕,和其他的一些高级色彩特性,对中文,日文和韩文 的支持 i 32 0 0 0 数字签名,逻辑结构, j a v a s c r i p t ,嵌入式文件,m a s k e di m a g e s ,平 滑阴影,支持c i d 字体的附加色彩。 1 42 0 0 1 文件加密( 1 2 8 字节) ,标签式p d f ,访问控制,透明,元数据流 1 52 0 0 3 文档加密( 公钥) ,j p e g2 0 0 0 压缩,可选的内容组,附加的注解类型 1 62 0 0 5 文档加密( a e s ) ,增加最大文件支持,加入3 d 支持,额外的注解类型 1 3 2 用例子说明p d f 结构 1 3 2 1p d f 文件的基本组成 一个p d f 文件从大的方面来说分4 个部分f 9 1 : 文件头,指明了该文件所遵从的p d f 规范的版本号,它出现在p d f 文件的第一 行。 b 文件体,p d f 文件的主要部分,由一系列对象组成。 6 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 c 交叉引用表,为了能对间接对象进行随机存取而设立的一个间接对象的地址索 引表。 d 文件尾,声明了交叉弓 用表的地址,即指明了文件体的根对象( c a t a l o g ) ,从 而能够找到p d f 文件中各个对象体的位置,达到随机访问。另外还保存了p d f “文件的加密等安全信息。 如下图: 鬈,7 , “ :,j 曩j 。h e a d e r;j 1 3 2 2p d f 文件的逻辑结构 b o d y x r e ft a b l e t r a i l e r 图l 作为一种结构化的文件格式,一个p d f 文档是由一些称为“对象”的模块组成的。 并且每个对象都有数字标号,这样的话可以这些对象就可以北其他的对象所引用。这些 对象不需要按照顺序出现在p d f 文档里面,出现的顺序可以是任意的,比如一个p d f 文 件有3 页,第3 页可以出现在第一页以前,对象按照顺序出现唯一的好处就是能够增加 文件的可读性,如果你不会用文本编辑器来阅读p d f 结构,那么大可不必关心。正是因 为页与页之间的不相关性,就可以对p d f 文件的页码进行随机的访问。 文件尾( t r a i l ) ,说明根对象的对象号,并且说明交叉引用表的位置,通过对交叉引用 表的查询可以目录对象( c a t a l o g ) 。这个目录对象是该p d f 文档的根对象,包含p d f 文 档的大纲( o u t l i n e ) 和页面组对象( p a g e s ) 引用。大纲对象是指p d f 文件的书签树;页 面组对象( p a g e s ) 包含该文件的页面数,各个页面对象( p a g e ) 的对象号 西北师范大学数信学院硕士学位论文p d f 文件的生成与原始性验证研究 一个p d f 文档有下图所示的层次关系: 图2 页面( p a g e ) 对象作为p d f 中最重要的对象,包含如何显示该页面的信息,例如使 用的字体,包含的内容( 文字,图片等) ,页面的大小。当然里面的子项也可以是其他 对象的引用。页面中包含的信息是包含在一个称为流( s t r e a m ) 的对象里,这个流的长 度( 字节数) 必须直接给出或指向另外一个对象。如下图: 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 1 3 2 3p d f 文件的基本语法 图3 文件的第一行是文件头,指明了该文件所遵从的p d f 规范的版本号,它出现在p d f 文件的第一行。一个对象的第一行一般有两个数字和关键字“o b j ”。例如: 3 0o b j e n d o b j 第一个数字称为对象号,来唯一标识一个对象的,第二个是产生号,是来表明它在 被创建后的第几次修改,所有新创建的p i ) f 文件的对象号应该都是0 ,即第一次被创建 以后没有被修改过。上面的例子就说明该对象的对象号是3 ,而且创建后没有被修改过。 对象的内容应该是包含在( 之问的,最后以关键字e n d o b j 结束。 西北师范大学教信学院硕士学位论文p d f 文件的生成与原始性验证研究 1 3 2 4 文件h e l l ow o r l d 的分析 1 文件的具体分析 p d f 1 0 文件头,说明符合p d f l 0 规范 l0o b j e n d o b j c a t a l o g 对象( 根对象) 20o b j e n d o b j o u t l i n e 对象( 此处它的计数为0 ,说明没有书签) 30o b j e n d o b j p a g e s 对象( 页面组对象) ,t y p e p a g e s 说明自身的属性,对象的类型为页码, c o u n t1 说明页码数量为1 ,k i d s 40r 说明页的对象为4 ,这里要说明的是如果有 多个页面,就多个页面直接连续下去,比如说k i d s 40r1 00r ,就说明该p d f 的 第一页的对象号是4 ,第二页的对象号是l o 。 40o b j 1 0 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 ( t y p e p a g e p a r e n t3 0r r e s o u r c e s f o n t p r o c s e t6 0r m e d i a b o x 006 1 27 0 2 c o n t e n t s50r e n d o b j 页对象,p a r e n t30r 说明其父对象的对象号为3 ,r e s o u r c e s f o n t p r o c s e t 60r 说明该页所要包含的资源,包括字体和内容的类型,| i e d i a b o x 006 1 27 9 2 说明页面的显示大小( 以象素为单位) ,c o n t e n t s50r 说明页面内容 对象的对象号为5 。 5 0o b j ( ( l e n g t h4 4 s t r e a m b t f 12 4t f 1 0 01 0 0t d ( h e li ow o r l d ) t j e t e n d s t r e a m e n d o b j 说明s t r e a m 对象为字节数,从b t 开始,e t 结束,包括中间的行 结束符。s t r e a m 说明一个流对象的开始。b t 说明一个文字对象的开始。f l2 4t f ,t f 说明t r u ef o n t 对象,字体明为f l ,大小为2 4 个象素。1 0 01 5 0t d ( h e l l ow o r l d ) t j , 1 0 01 0 0 说明这一行文字放置的位置,对于td ,我们可以这样理解,我们的当前x ,y 坐标分别加上1 0 0 和1 5 0 就是文本的位置,因为在该例子中只有一个对象,那么它的位 置就是( 1 0 0 ,1 5 0 ) ,如果下个对象位置信息为1 0 0 ,5 0t d ,那么它的位置应该就是 ( 1 0 0 + 1 0 0 ,1 5 0 + 5 0 ) 也就是( 2 0 0 ,2 0 0 ) 。( h e l l ow o r l d ) w j 说明文本的内容,当然, 如果这里是文本的内容可以写成1 6 进制,用 包含。e t 说明文字对象的结束,e n d s t r e a m 流对象的结束。 6 0o b j 西北师范大学数信学院硕士学位论文 p d f 文件的生成与原始性验证研究 p d f t e x t e n d o b j p o f t e x t 说明p d f 的内容类型仅仅为文本,如果有图片则为 p d f i m a g e 70o b j e n d o b j o b j e c ts i xd e f i n e st h e 字体对象,所有的对象之后是下面的交叉引用表: x r e f 08 0 0 0 0 0 0 0 0 0 06 5 5 3 5f 0 0 0 0 0 0 0 0 0 90 0 0 0 0n 0 0 0 0 0 0 0 0 7 40 0 0 0 0n 0 0 0 0 0 0 0 1 2 00 0 0 0 0n 0 0 0 0 0 0 0 1 7 90 0 0 0 0n 0 0 0 0 0 0 0 3 2 20 0 0 0 0n 0 0 0 0 0 0 0 4 1 50 0 0 0 0n 0 0 0 0 0 0 0 4 4 50 0 0 0 0n x r e f 说明一个交叉引用表的开始,交叉引用表的第一行08 说明下面各行所描述 的对象号是从0 开始,并且有8 个对象。0 0 0 0 0 0 0 0 0 06 5 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论