




已阅读5页,还剩82页未读, 继续免费阅读
(模式识别与智能系统专业论文)图像数据压缩技术在pdf中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨:程人学硕士学位论文 摘要 本文以电子文档格式p d f ( p o r t a b l ed o c u m e n tf o r m a t ) 为研究对象,以 如何将图像数据保存到p d f 中为研究重点,深入地研究了图像数据压缩在 p d f 中的应用。 首先,深入地研究了p d f 的特点、生成方法和内部结构。 其次,围绕如何在j a v a 环境下应用程序如何装载图像和提取图像数据, 实现了一个能够支持任何图像类型装载的类。研究了图像像素数据提取方法, 并用 a v a 语言编程实现了所提出的方法。 然后,围绕图像数据压缩技术如何在p d f 应用,深入地研究了图像数据 压缩技术,并重点研究了p d f 的多个版本中都支持的图像数据压缩算法,其 中包括融合了r l e 、d c t 、h u f f m a n 压缩方法的j p e g 算法、a s c i l 8 5 和 a s c i i h e x 编码方法。在j p e g 压缩的实现上,为了提高压缩效果和速度,本 文在j p e g 的d c t 和量化两步中深入地分析了a a & n 方法,并将其引入到 具体的软件实现中。本文提出了具有自动识别图像类型,选择适合的压缩算 法的自适应图像压缩编码技术,并将其用到图像数据写入p d f 的实现中,取 得了不错的效果。除此之外,针对图像数据写入p d f 过程碰到的问题,给出 了相应的解决方案。 最后,介绍集成了本文所有实现的测试系统。出所进行的两项实验结果 可以说明本文所实现的算法的有效性。 关键词:p d f ;j a v a :数据压缩;游程长度编码;离散余弦变换:哈夫曼编 码:j p e g ;a a & n :a s c i l 8 5 :a s c i i h e x a b s t r a c t p o r t a b l ed o c u m e n tf o r m a t ( p d f ) i st h eo b j e c tt ob es t u d i e di nm yp a p e r , w h i c hi so n eo ft h ee l e c t r o n i cd o c u m e n tf o r m a t s h o wt ow r i t ei m a g ed a t at op d f i st h ef o c u so ft h es i l l d y i m a g ed a t ac o m p r e s s i o na n di t sa p p l i c a t i o ni np d f a r e s t u d i e di n d e p t hi nt h ep a p e r a tf i r s t ,t h ec h a r a c t e r i s t i c sa n ds t r u c t u r eo fp d fa n da p p r o a c ht op r o d u c e p d fa r es t u d i e di nd e t a i l s e c o n d l y , f o c u s e do n h o wt ol o a di m a g et oa p p l i c a t i o ni nt h ee n v i r o n m e n to f j a v a ,ac l a s si sr e a l i z e d ,w h i c hc a nl o a da n yi m a g eb yt h es a i r n ew a y i na d d i t i o n , a n a p p r o a c ht o e x t r a c t p i x e l v a l u ef r o ml o a d e d i m a g e i s a n a l y z e da n dt h e c o r r e s p o n d i n g r e a l i z a t i o ni nj a v ai sg i v e n t h e n ,、撕mt h et o p i co fh o wt ou s ei m a g ed a t ac o m p r e s s i o ni np d f , i m a g e d a t a c o m p r e s s i o nt e c h n i q u e s a r es t u d i e di nt h e p a p e r a r i t h m e t i c o fd a t a c o m p r e s s i o no rd a t ae n c o d i n gt h a tu s e di ns e v e r a lv e r s i o no fp d f i sd i s c u s s e d 、 t h e yi n c l u d ea s c i l 8 5 ,a s c i i h e xa n dj o i n tp h o t o g r a p h i ce x p e r tg r o u p ( j p e g ) a r i t h m e t i cw h i c hi sc o m p o s e do fr u nl e n g t he n c o d i n g ( r l e ) ,d i s c r e t ec o s i n e t r a n s f o r m ( d c t 、a n dh u f f m a n i no r d e rt oi m p r o v et h ee f f i c i e n c ya n ds p e e do f c o m p r e s s i o n ,t h ea a & n m e t h o di su s e di nt h e s t e po fd c ta n dq u a n t i z a t i o n w h i c ha r et w oo ft h e s t e p s i nt h e r e a l i z a t i o no fj p e g a d a p t i v e i m a g e c o m p r e s s i o na n de n c o d i n g ( a i c e ) i sp r o p o s e da n du s e di nt h es t e po fw r i t i n g i m a g e d a t at op d f i tc h o o s e sf i ta r i t h m e t i ct op r o c e s s i m a g e d a t aa c c o r d i n gt ot h e t y p eo fi m a g e i tr e c o g n i z e d ag o o dr e s u l ti so b t a i n e db y i m p o r t e da i c e f u r t h e r , c o r r e s p o n d i n gs c h e m et o r e s o l v et h e p r o b l e m se n c o u n t e r e di nt h ep r o c e s so f w r i t i n gi m a g e d a t at op d fi sg i v e n f i n a l l y ,a t e s t s y s t e mi n t e g r a t e d a l la b o v er e a l i z a t i o ni s i n t r o d u c e d t w o e x p e r i m e n t r e s u l t ss h o wt h ee f f i c i e n c yo fa r i t h m e t i cw e p r o p o s e d 哈尔滨i 群人学硕士学何论文 k e y w o r d s :p o r | l , a b l e d o c u m e n t f o r m a t ( p d f ) ;j a v a ;d a t a c o m p r e s s i o n ; r u n l e n g t he n c o d i n g ( r l e ) ;d i s c r e t ec o s i n e t r a n s f o r m ( d c t ) ; h u f f m a n ;j p e g ;a a & n ;a s c i l 8 5 ;a s c i i h e x 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下, 由作者本人独立完成的。有关观点、方法、数据和文献等的 引用已在文中指出,并与参考文献相对应。除文中已经注明 引用的内容外,本论文不包含任何其他个人或集体已公开发 表的作品成果。对本文的研究做出重要贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律 结果由本人承担。 作者( 签字) : 塑坠至 日 期:伽年三月刁日 哈尔滨:稃人学硕十学位论文 - i ;i i ;i ;i ;i i i ;i _ ;i i i i i i i i ;i _ 1 1 概述 第1 章绪论 2 0 多年以来,电子数据交换e d i ( e l e c t r o n i cd a t ai n t e r c h a n g e ) 在工商业 界应用中不断得到发展和完善,在当前电子商务中占据重要的地位。e d i 旨 在实现票据传送的电子化,所以有人称e d i 为无纸化贸易。但e d i 的意义不 在于节约纸张,而在于其快速( 比如从邮寄的几天变成几分钟甚至实时) 、避 免重复劳动( 不必反复打印和录入票据) 、提高效率、降低成本等方面。要实 现e d i ,需要一种电子化的文档格式j 。 在当前的改革中,企业的信息化改造是个非常热的主题。正如大家所知, 企业信息化的根本目的,是为改善企业的经营效率,提高其市场竞争力。要 实现这个目的就需要加快信息的流动,一个部门的信息要很快的传到另一个 部门,这样- 4 能有利于企业的决策和生产,提高市场竞争力。信息系统在企 业中的应用也从最初的一个简单的信息汇总系统到具有辅助决策的更高级的 信息系统;系统结构也从c s ( c l i e n t s e r v e r ) 发展到i n t e m e t i n t r a n e t 的b s ( b r o w s e r s e r v e r ) 。i n t e m e t 已经是一条信息的高速公路。不管是公开的或非 公开的信息系统其实已经与i n t e r e n l 直接的或间接的连在一起。所以这个信 息系统必须是能以i n t e r n e t 方式操作和使用。电子文档格式可以成为一种信 息系统与i n t e r n e t 交互的媒质之一【2 。 数字图书馆的建设也需要一种电子文档格式来替代传统的纸张。目前使 用的v i p 、t i f f 等格式,由于它们在页面效果上并不十分理想,因此需要更 好的一种电子文档格式来替代它们。 p d f ( p o r t a b l e d o c u m e n t f o r m a t ) ,即可移植的文档格式。由于用户可以 以一种简便、可靠的方式来浏览p d f 格式的电子文档,同时这种文档格式还 独立于生成它的应用软件、硬件和操作系统,因此这种文档具有很好的可移 植性。它已经成为e d i 应用和数字图书馆建设的最佳的电子文档格式。 总的来讲,p d f 具有如下一些特点: ( 1 ) 可传递性。 哈尔滨i 科人学硕十学位论文 ( 2 ) 平台无关性。 ( 3 ) 字体无关性。 ( 4 ) 支持多种压缩、编码方式,文件更紧凑。 ( 5 ) 支持交互操作。即可包含表格和超文本链接。 ( 6 ) 支持声音、动画。 ( 7 ) 支持对页面的随机存取。 ( 8 ) 支持不断追加的修改方式,便于少量修改、提高效率。 对于能在网上传输的电子文档格式,t x t 文件不带任何格式,阅读不便。 w o r d 文件臃肿且易感染宏病毒,增加网络通信负荷。h t m l 文件受浏览器影 响。而p d f 格式能保留原文件包括字符、字体、版式和色彩在内的全部信息, 加之它对文字图像的极好的压缩,使文件尺寸很小,因此它是最适合网络上 传输的电子文档格式。 j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ) 是一个方便于服务器应用程序 开发的中间件服务集,它利用j a v a 2 技术来简化诸多与企业解决方案的开发、 部署和管理相关的复杂问题【l 。j 2 e e 技术的核心是j a v a 2 平台,所以它继承 了j a v a 2 平台的一些优点,如:平台无关性,安全性等,另外还增加了一整 套核心企业应用程序编程界面,而所有这些界面均为标准的模块化组件,其中 包括:e j b ,j s p ,j d b c ,x m l 和j a v a i v l a i l 等技术。 如何实现将文字、图像等数据写入到p d f 中呢? 选用何种平台实现p d f 生成呢? 对于第一个问题,在读完本文之后,将会有一个清晰的解答。对于 第二个问题,我们认为用j a v a 语言是比较好的,而且选用在j a v a 2 平台之上 的j 2 e e 更佳。因为j a v a 语言所具有的平台无关性、安全性,j 2 e e 都有,而 p d f 本身也是平台无关的,两者的结合将使应用程序更加可靠。而且由于 j 2 e e 技术中涵盖的j a v a m a i l 和j s p 等技术,可以将生成p d f 的实现部署到 j 2 e e 服务器上,自动或选择p d f 生成,将生成文件通过与j a v a m a i l 结合, 以e - - m a i l 的方式将文件发送给用户,或者与j s p 结台,在客户端显示文件 内容,这样就能扩展p d f 应用。对现有的p d f 将是生成工具,因为无法将 其部署到服务器上,所以无法实现上面所提到的扩展应用。 正是基于上面的考虑,我们进行的p d f 应用研究不仅要实现现有p d f 生成工具的功能,而且还要进行j 2 e e 的应用扩展。 2 i l 自尔滨| :科人学硕士学位论文 1 2 数据压缩技术与p d f 数据压缩就是将数据信息中的冗余部分剔除,从而减少数据量。数据压 缩的方法都有一定的针对性。比如:适合于静止图像的j p e g ,适合于文字和 图像的r l e 。本文研究了图像压缩j p e g 方法。因为它是一个融合了r l e 、 d c t 、h u f f m a n 压缩编码方法。团此研究j p e g ,对于了解数据压缩意义更大。 信息时代带来“信息爆炸”,数据压缩的作用及其社会效益、经济效益将 会越来越明显。数据压缩技术在紧缩数据存储量的同时,减少了传输各种信 息所花费的时忸j 。而p d f 本身支持多种媒体,p d f 浏览器自带解码器,这就 为p d f 在网络上运用提供了“阔的空间。 p d f 支持多种数据压缩和编码方法。从文献 1 l 并n 2 1 q u 可知,目前被广泛 使用的压缩方法,在p d f 中都得到了支持,而且随着p d f 版本的不断升级, 其支持的压缩方法也会不断增加。目前p d f 的版本为l ,5 。其支持的压缩编 码算法有:l z w 、r l e 、j e p g 和j b i g 等。 1 ,3p d f 应用现状 用p d f 制作c d - - r o m 出版物是目前应用最多的情况,在国内也有大量 实例。如广为流传的黄金书屋光盘及中国大百科全书出版社出版的中 国大百科全书光盘版都是采用p d f 进行光盘出版物制作,是较为成功的 例子。 由于现在只有少量的w w w 服务器支持p d f ,因此采用p d f 独立进行 主页设计和信息发布在未来的一段时间内还不太现实。但已有大量的w w w 站点采用h t m l 和p d f 混合的方式进行信息发布,如在h t m l 框架中嵌入 p d f ,两者可以无缝结合。对于支持p d f 的站点( 如a d o b e 的w w w 站点) , 用户从上面阅读p d f 和h t m l 是等效的,可以边下载边读( 用户浏览器中 要事先安装阅读p d f 的插件或控件) 。而从不支持p d f 的w w w 站点上阅读 p d f ,则只能等p d f 文件完全下载到本地之后,用户才能阅读。目前已有大 量的电子杂志( 或杂志的电子版) 在采用p d f 在i n t e r n e t 上发行( 如美国科 学杂志的电子版,万方数据提供的很多文章也是采用p d f 格式) ,h a t e m e t 上的p d f 资源越来越多,现在多数i n t e m e t 搜索引擎已经支持p d f 的搜索( 如 哈尔滨i 稃人学硕士学位论文 g o o g l e ,只需要在搜索的关键词后加f i l e t y p e :p d f 就能搜索p d f 格式文件) 。因 此可以预见,随着更多w w w 站点对p d f 的支持,p d f 将在未来的i n t e m e t 上逐步占据主导地位。 p d f 的出现不仅对电子出版带来巨大的影响,也对传统的印刷流程产生 了冲击。传统的以p s 为中心的印刷将面临p d f 的挑战,未来的p d fr i p ( r a s t e r i m a g ep r o c e s s o r ) 将会逐步取代p sr i p ,从而真正实现一次制作、 多次使用( 印刷、网络发行) 的思想。 档案管理系统是由香港世达电脑科技有限公司开发的产品。它将任意格 式的文档转换成p d f 格式存入数据库,方便图书馆和事业单位管理文档。 1 4 本文主要的研究内容 本文将对如下方面进行研究: ( 1 ) 对p d f 文档格式的结构进行深入的分析; ( 2 ) 在j a v a 环境中,如何将任意类型图像载入到应用程序中,如何用 j a v a 语言实现图像数据的提取; ( 3 ) 分析图像数据压缩技术,重点研究j p e g 数据压缩在j a v a 环境下的 实现; ( 4 ) 结合p d f 文件的生成,研究了图像类型自动识别、分类写入p d f 的处理过程: ( 5 ) 建立测试系统,陔系统需要能够集成本文所实现的所有方法。 4 堕! :篓:! :些尘耋堡圭兰堡篁圣; i ;# ;i i i ;i i i i ;i i ;i _ 。一 第2 章p d f 介绍 p d f ( p o r t a b l ed o c u n l e n tf o r m a t ) 是种结构化的文档格式。它由美国 著名排版与图像处理软件公司a d o b e 公司于1 9 9 3 年首次发布。它对应的浏 览软件是a d o b e a c r o b a t 。p d f 文件有什么特点? 其内部结构是什么样? 怎样 生成p d f 文件? 本章将回答这砦问题。 2 1p d f 简介 2 1 1p d f 概述 p d f 由美国a d o b e 公司于1 9 9 3 年首次发布( i 0 版) ,同年推出了相应 的支持软件产品系列a d o b ea c r o b a t l 0 ,随后a d o b e 公司又对其进行了修订 和升级,于1 9 9 4 年发布了1l 版,并推出了支持软件产品系列a d o b e a c r o b a t 2 0 及2 1 版。目前p d f 的版本已经是1 5 版。 页面描述语吉p s ( p o s t s c r i p t ) 也是由a d o b e 公司拥有的一项事实上的 印刷工业标准 2 8 1 。它能描述精美的版面,在目前的印刷领域仍占据统治地位。 p d f 从p s 发展而来,在对页面的描述方面它们有几乎相同能力和相似的描 述方法。p d f 采用与p s 相同的图像模型( a d o b ei m a g i n gm o d e l ) 来表现文 字和图形。与p s 语言一样,p d f 的页面描述指令是通过将选定的区域着色 来绘制页面的。着色的区域可以是字母轮廓、直线和曲线定义的区域以及位 图;着色的颜色可以是任意的;页面上的任何图形都可以被裁减成其它形状; 页面开始是全空的,各种指令将不同的图形绘制到页面上,新的图形是不透 明的且可以覆盖旧的图形。 虽然如此p d f 与p s 相比,还是有很大的不同。主要表现在以下几方 面: p d f 文件可以包含交互对象( 如超链接、交互表单等) ,而p s 则没有。 p d f 是一种文件结构,而p s 是一种编程语言。因此,p d f 具有比p s 更 高的处理效率。 p d f 的严格结构定义允许应用程序对其中的对象进行随机存耿,而p s 只能顺序存取。 哈尔滨i 群人学硕十学位论文 ;_ i ;i i i i i i j ;j ;i j ;i i i ; p d f 中包含有字库的规格尺寸等字体描述信息,以便在字库不存在时进 行字库仿真( 而非字库替代) ,保证文档显示的一致性。 p d f 是一种用来表示一个文档的文件形式,它以一种独立于应用软件, 硬件和操作系统的方式来创建。 。个p d f 文件包含一个p d f 文档和其它支 持的数据。 p d f 文档包含一个或多个页。文档中的每页内容可能是文本、图形和与 设备和分辨率无关的图像等对象的任意组合。这就是p a g ed e s c r i p t i o n 。p d f 文档中同样也可以包含超链接、音频和视频等表达信息的形式。除了文档以 外,p d f 文件中还包含这个文档用至i j p d f 的版本信息和文件中用到的重要的 结构的位置信息。 2 1 2p d f 文件的产生方式 目前生成p d f 有两种途径: ( 1 ) 通过打印的方式生成p d f ,即通过一个虚拟的p d f 打印机将应用程 序中的文字和图形指令( 妻 1 w i n d o w s 下的g d i 指令或m a c 下的q u i c k d r a w 指 令) 转换为p d f 指令,然后将这些指令保存至i j p d f 文件中。在安装了a d o b e a c r o b a t p d f w r i t e r 之后,从理论上蜕所有的具有打印功能的应用程序都将待 打印的内容打印至u p d f 文件中。 ( 2 ) 由p s 转换至i j p d f 是另一静生成p d f 的方法,它是由应用程序先将待 打印的内容写成p s 文件,再由a d o b ea c r o b a td i s t i l l e r 将p s 文件转换成p d f 文 件。 两种生成p d f 的方法各有利弊。通过打印方式生成p d f 的优点是和应用 程序能够紧密结台,在用户看来是从应用程序直接生成p d e 但缺点是由于 g d i 指令集* d q u i c k d r a w 指令集本身的局限,难以生成高精度的p d f 。而从 p s 转换至i j p d f 虽然多了一道工序,但由于p s 本身具有高精度的描述能力,因 此生成的p d f 可以达到印刷级的质量和精度。 生成p d f 文件之后,用户就可以用a c r o b a te x c h a n g e 或r e a d e r 来阅读和打 印。还可以使用a c r o b a te x c h a n g e 给p d f 文件增加如页面缩像、超链接、书 签( 或目录) 和注释等交互属性。 2 1 3p d f 的基本特点 ( 1 ) 可传递性。p d f 文件支持7 位a s c i i 码和二进制两种编码方式,可以 ! 篁! l 篓! :垒垒兰堑圭兰堡堕兰 一; 正确地在各种网络环境下传输。 ( 2 ) 平台无关性。p d f 3 件具有软、硬件平台独立性。用户在不同的环 境下( 如不同语言的操作系统,不同的硬件平台) 看到的p d f 文件的版式和 内容都与作者创作完成时的情况完全一致。这个特点非常适合于信息交换、 免除乱码的苦恼。 ( 3 ) 字体无关性。p d f 文件中可以自带字体或字体描述信息,在用户的 系统中缺乏所需字体的情况下,仍然能正确显示。 ( 4 ) 支持多种压缩、编码方式,文件更紧凑。压缩和编码方式有: a s c i i h e x 、a s c i l 8 5 、l z w 、r u n l e n g t h 、c c i t tg r o u p 3 、c c i t tg r o u p 4 、 j p e g 和f l a t e 。 ( 5 ) 支持交互操作。可包含交互表单和超链接。 ( 6 ) 支持声音和动画。 ( 7 ) 支持对页面的随机存取。 ( 8 ) 支持不断追加的修改方式,便于少量修改、提高效率。 ( 9 ) 安全性控制。支持各种不同级别的安全性,如只能阅读,不能打印 和选择文字;可阅读、可打印,但不能修改;可阅读、可打印、可修改等。 这种安全性控制对保护电子出版物的版权非常重要。 2 2 p d f 中的对象 p d f 支持七种基本对象: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 。除此之外还有n u l l 对象。对象可以命名,并能够被其它 的对象引用。一个命名的对象在p d f 中称为间接对象( i n d i r e c to b j e c t ) 。 2 2 1 直接对象 p d f 所支持的下表中的对象类型称为直接对象。表a 1 给出了对象的类型 信息。 2 2 2s t r e a m 对象的基本属。性表 图像和页面描述都是记录在s t r e a m 中。s t r e a m 对象的定义见表a ,2 。下面 介绍s t r e a m 属性的意义。本文的后续的研究内容主要就是围绕s t r e a m 的内容 展开的。 哈尔滨i 程人学碗士学位论文 将s t r e a m 的内容进行压缩或者将:进制s t r e 硼内容转成a s c i i 码形式,这 些数据如何被p o f 浏览器a c r o b a t 解码呢? 回答是通过指定压缩方法对应的过 滤器。p d f 中的过滤器和其参数见下表。本文将在后续对这部分深入研究,数 据的压缩处理是本文的研究重点。p d j 、中的标准过滤器见表2 1 。 表2 1p d f 中的过滤器 过滤器名称 参数意义 a s c i i b e x o e c o d e无用1 6 进制的& s c i i 解码二进制数据 a s c i1 8 5 d e c o d e无 h j a s c l l 8 5 解码二进制数据 l z w d e c o d ed 1c 1i o n a r y ( 可选) 削l z w 白适应压缩方法解压文本或一进 制数据。 r u n l e n g t h d e c o d e无采_ = | j 面向字节的r u n l e n g t h 解码算法解 压二进制数据 c c l t t f a x d e c o d ed i c t i o n a r y ( 可选) 用c c i t t 传真标准算法解压二进制数据 i ) c t d e c o d ed ic t io r l a r y ( 可选) 州j p e 6 标准的d c t 技术解压采样数据 f 1 a t e d e c o d e d i c t i o n a r y ( 可选)j j f l a r e 方法解乐文本域二二进制数据。 2 2 _ 3 间接对象 正如前面介绍的,阳j 接对象是一个命了名的对象。间接对象的引入非常 有用,例如:s t r e a m x j 象的l e n g t h 的值可以被指定为一个存储在s t r e a m 之后的 间接对象中。这对于以顺序结构方式产生p d f 的应用程序非常有用。 间接对象由一个对象标识符,一个直接对象和关键词e n d o b j 组成。对象 标识符由一个整型对象号( o b j e c t n u m b e r ) 、一个整型产生号( g e n e r a t i o n n u m b e r ) 和一个o b j 关键词组成。其定义如下: := e n d o b j := o b i 对象号和产生号的组合作为一个间接对象的唯一标识符。 哈尔滨i :程大学硕士学位论文 在一个文件中,间接对琢的对象号经常是( 但不是必需) 按照顺序编排 的,即从1 丌始,顺序编排。直到文件中的对象被删除,所有的产生号都是0 。 2 2 4 间接参考 用来作为个数组的元素或者做为字典的一个值的对象可以是一个直接 对象或者一个问接参考( i n d jr e c t r e f e r e n c e ) 。间接参考是一个问接对象 的参考。它出一个白j 接对象的对象号、产生号和一个关键词r 组成。如下定 义: := r 例2 1 给出的s tt e a l l 的氏度的数值的间接参考。 例2 1s t r e a m 70o b j s t r e a m b t ,f 11 2t f 7 27 1 2t d ( as t r e a mw i t ha ni n d i r e c tl e n g t h ) t j e t e n d s t r e a m e n d o b j 80 o b j 6 4t h i si st h el e n g t h o f t h ep r e v i o u ss 护e a m e n d o b j 哈尔滨i 。捌大学硕| 学位论文 2 3p d f 中的坐标系统 坐标系统定义了块在p d f 文档中绘制的区域。页面中的文字、图像和 图形的方向,位冒和尺寸都由坐标系统决定。因此很有必要介绍一下p d f 中 的坐标系统,今后将文字或图像写入p d f 前都需要进行坐标变换。 2 3 1p d f 中常用的坐标系统 1 d e v i c es p a c e ( 设备空问) 在设备e 的坐标系统就是所谓的没备空间。这种坐标系统具有与设备紧 密相关的特性,因为不同的设备不仅是尺寸上有一定的比例,而且在诸如方 向等都不一样。所以p d f 没有使用这种设备相关的坐标系。 2 u s e rs p a c e ( 用户空间) 这是一种与分辨率无关的坐标系统。这种坐标系统在文档的每一页创建 时就初始化,通常,用户空间坐标7 2 单位英寸,大致与印刷上的测量单位( 点) 相当。y 轴的丁f 方向向上,x 轴的正方向向右。坐标的原点在左下脚。每一页 的打印或浏览的区域的坐标系统可以不相同。 3 t e x ts p a c e ( 文本空削) 文本所在的区域称为文本空间。从文本空间到用户空间的变换通过文本 矩阵实现。 4 c h a r a c t e rs p a c e ( 字符空间) 在某种字体中的字符被定义在字符空间中。字符空间到文本空间的变换 可以通过定义的矩阵实现。对大多数的字体而言,除了总体比例因子( 当用 户选择的字体大小变化时,这个因子就发生变化) 外,这个矩阵的其它参数 都是预定的。 5 i m a g es p a c e ( 图像空间) 所有图像所在的空间就为图像空间。图像空间到用户空间的变换是预定 义的,并且不能改变。所有的图像在用户空间中都是l l 单位的,而不管图 像的采样数目是多少。 6 f o r ms p a c e ( 表单空削) p d f 提供一个叫做f o r m x o b j e c t f :1 4 j 5 对g l 。从表单空间到用户空间的转换可 以通过包含在f o r m x o b j e c t q a 的矩阵实现。 哈尔滨。程人学硕十¥:位论文 7 p a t t e r ns p a c e ( 图案空间) p d f 定义了一类颜色叫做图案( p a t t e r n ) 。和f o h n s 一样,p a t t e r n 可包含 序列的标记操作符;这些操作符p o s t s c i p t 语言中的p a t t e r n 一样。图案所 定义的空f 日j 就是图案宁i l 白j 。从剀案空l 训到用户空间的变换通过包含在图案中 的矩阵来实现。 2 3 2p d f 中的几个坐标系统的关系 吒矗而丽 s p a c 旦_ - + 图2 1p d f 中的坐标系统关系 p d f 定义了许多的相关的坐标系统,下面给出这些坐标系统的关系。在图 2 1 中的每一条线都是一个坐标系统到另一个坐标系统的变换。因为p d f r 中的 坐标系统彼此相关,因此任伺一个变换都能引起几个其它坐标系统中的对象 的外观发生变化。比如从用户空间到设备空间的变换( c t m ) 将影响用户空间 的“逆流”f o r m 、t e x t 、i m a g e 和p a t t e r n 空间发生变化。 2 - 3 3 坐标系统的转换 变换矩阵指明了两个坐标系统的关系。通过修改矩阵的参数,对象可以 被缩放、旋转、平移或者变换成其它格式。 p d f 中的变换矩阵通常是以个包含6 个元素的数组。下面给出常用的几 个变换数组。 1 )平移 格式: 1001t 。t y 】 参数意义:t 。和t y 分别表示在x 方向和y 方向原坐标系统原点平移的 距离。 2 )缩放 格式: s 。00s v00 1 参数意义:新坐标系统在和y 方向的一个单位分别相当于原坐标系 哈尔滨i 群人学硕士学位论文 统的s 。和s 。单位。 3 )旋转 格式:【c o s d s i n 目一s i n 扫c o s 曰00 】 参数意义:逆时针方向旋转臼角。 4 )倾斜 格式: 1t a n dt a n 100 l 参数意义:与x 轴倾斜口角度,与y 轴倾斜角度 旋转 倾斜 图22 坐标变换的效果图 图2 2 给出了一组坐标变换的效果图。 变换的顺序不同,变换的效果也不同。图23 给出了进行相同的变换矩阵 不同的变换顺序的效果图。 哈尔滨i 。挥大学硕士学位论文 皿 o r i g i n a l 珏一, l 、 s t e p1 s c a l e s t e p2 :r o t a t es t e p3 :t r a n s l a t e i : o r i g i n a ls t e p1 :t r a n s l a t e s t e p2 :r o t a t e s t e p3 :s c a j e 图23 不同的变换顺序的效果图 从图中可以看出,经过s c a l e 专r o l a l e t r a n s j a l e 变换后,新的坐标系 统的坐标轴将不再垂直。 2 3 4 变换矩阵 对于坐标变换阵的理解需注意以下两点: ( 1 ) 变换之前的对象在变换后不会发生变化。变换的是坐标系统而不 是对象。在坐标变换之前绘制的对象不会发生变化,在之后的对象用新坐标 系统变换。 ( 2 ) 变换矩阵指的是从新坐标到旧坐标的变换。p d f 用变换矩阵去确 定变换前的坐标。 p d f 中的坐标系统是一个二维空间,在这个坐标系统中的点( ,y ) 可以 以矢量 xy 1 】的形式表示。严格意义上讲,这个矢量中的第三个参数并不需 要,但是,加入这个参数可以很方便的平移坐标系统的原点。两个坐标系统 转换矩阵用下面的3 3 矩阵表示: 卜: j p 厂 1 i 坐标变换表示为: 哈尔滨r 群人学硕士学位论文 卜60 l y 1 _ 臣少1 1 cdo l ( 2 1 ) l 已 厂 l j 因为p d f 的变换矩阵指定的是从变换后的系统到变换前的坐标系统的关 系矩阵,因此等式中的x 和y 是变换前的矩阵,x 和y 是变换后的矩阵。 展丌f = = 式可以得到 f 2 “+ c v 州( 2 2 ) 【y = 缸十咖十 如果要计算一系列变换,代表每一次变换的变换矩阵可以乘起来得到一 个等效的变换矩阵。 矩阵的乘法是不可交换的,因此需要确定变换矩阵之问的乘积顺序。考 虑f 面的一组变换:对用户空问坐标作一次缩放变换,再进行一次从变换后 的坐标系统到设备空间的变换。缩放变换矩阵吖。,用户空间到设备空间的 变换( c t m ) m p 从前面的介绍中我们不难得出,正确地变换顺序是先缩 放,再转换到设备空阳j 。如下表示: x d = x ,m f = ( x n m _ ) m 。= x 。( m s m f ) ( 2 3 ) 其中。是设备空i 到坐标,z 。,是默认的用户空间坐标,盖。是缩放变换 前用户空间坐标。从上可以看出,加入一个新的变换矩阵必须是左乘已有的 变换矩阵。 由此可以彳导出:在p d f r t ,两个变换矩阵的等效矩阵是通过在现有的 变换矩阵m 的基础一卜左乘新加入的变换矩阵m ,实现的,即m ,:m ,m 。 2 4p d f 的文件结构 规范的p d f 文件由四个部分组成:文档头,文档体,交叉参考表和文档 尾四个部分组成。p d f 文件的定义为: : 哈尔滨一程火学硕十学位论文 - ;i i ;i ;i i ;i ;j ;i i i ;i ;i i i 目i i i ;。一 2 4 1h e a d e r 一个p d f 3 t 件的第一行,它指定这个p d f 文档所遵循的p d f 版本。 := 如:p d f 1 ,3 表示这个p d f 文件遵循v 1 3 。 目前的p d f 的版本为15 。 2 4 2b o d y p d f 的文档主体由系列间接对象组成。这些间接对象用来描述文档的 字体、页面和采样数据等信息。 p d f 中的注释可以出现在b o d y 中的任何地方。它以“”作为注释的标 志,该行的所有后续字符都被看作注释内容。类似与c + + 中的注释。如果 是出现在s t r i n g 或s t r e a m 中的“”则不会被当作注释。 2 4 3c r o s s r e f e r e n c et a b l e 交叉参考表中包含了允许随机访问文件中的间按对象的信息。对每一个 间接对象,这个表中都记录一行条目描述这个对象在文件中的位置。 一个p d f 文件只能包含一个交叉参考表,这个表可以由一个或多个小节 ( s e c t i o n ) 组成。如果文件没有被更新过,这个表只有一个部分组成。每修 改一次这个文件,都将在这个表中产生一节来记录改变后的对象在文件中的 位置。 交叉参考表的格式定义如下,x r e f 是关键词。 := x r e f + 每一个分段( s u b s e c t j o d ) 包含个按顺序的对象号的条目组成。因为 可以把新的交叉参考添加到p d f 文件中,因此说交叉参考部分的这种组织方式 对于将来对文档的修改非常有利。更新的部分只需要记录新增或删除的对象 的条目。交叉参考分段的定义如下: := c r o s s - r e f e r e n c e e l l t r y + 哈尔滨1 群人学硕b :位论文 包括行结束符在内,每个条目都是2 0 个字节。交叉参考表中的条目有两 种格式:一种是给f 在使用的对象的,另一种是已经被删除的( 或者说自由 的) 。 := i 对于一个l f 在使用的对象,这个条目中包含从文件的丌头到对象使用的 字节偏移量、对象的产生号和关键词n 。 := n 字节偏移量是一个十位数,如果偏移量不够1 0 位,则在前面填0 。对象产 生号是一个血位数,同样,如果位数不足,则在前面填0 。字节偏移量,对象 产生号和n 相邻之间有一个空格。对于行的结束符有三种方式: :2 l l 对于一个空闲的对象,条目中包含下一个空闲对象号,产生号和关键字f 。 :2 f 空闲条目和使用的对象有着同样的数据格式要求。 因为空闲对象条目的对象号指向下一个空闲对象,因此在交叉参考表中 的空闲对象形成一个链表。在交叉表的第一个条目( 对象号为0 ) 总是一个空 闲的对象,它的产生号茭j 6 5 5 3 5 。它是空闲对象的链表表头。在交叉参考表中 的最后一个空闲条目( 链表的尾) 用的下一个空闲对象0 。 当个间接对象被删除了,它对应的交叉差中的条目被标识为空闲,它 的产生号加一,以便下一次用这个对象号的对象创建时可以使用这个产生号。 如果再复用这个对象,它的产生号又将加一。最大的产生号是6 5 5 3 5 。一旦达 到这个数,这个交叉表中的这个条目就不能再复用。 文件中用到的每一个对象在交叉参考表中都有一个对应的条目。 下面给出一个交叉参考表的例子。例2 2 :交叉参考小节中含有个有6 个条目的分段,其中4 个是正在被使用的( 对象号为1 ,2 ,4 和5 ) ,另外2 个 是空闲的( 对象号为o 和3 ) 。对象号3 所指的对象已经被删除了,下一个用对 6 哈尔滨i 程人学硕十学位论文 j ;i i i ;i i i i ;i i ;i i ;i ;i 口i i i i i i j 象号3 创建的对象将用产生号7 。 例22 交叉参考表 x r e f o6 0 0 0 0 0 0 0 0 0 36 5 5 3 5f 0 0 0 0 0 0 0 0 1 70 0 0 0 0n 0 0 0 0 0 0 0 0 810 0 0 0 0n 0 0 0 0 0 0 0 0 0 00 0 0 0 7f 0 0 0 0 0 0 0 3 3 10 0 0 0 0n 0 0 0 0 0 0 0 4 0 90 0 0 0 0n 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一列老年糖尿病合并低血糖患者的护理
- 2025年冀北博望电力产业管理(北京)有限公司高校毕业生招聘(第三批)模拟试卷附答案详解(黄金题型)
- 2025湖南衡阳理工职业学院人才招聘4人考前自测高频考点模拟试题及一套答案详解
- 2025安徽庐江县乡村振兴投资有限公司招聘10人考前自测高频考点模拟试题及一套答案详解
- 2025广东广州工程技术职业学院第一批招聘一般岗位7人模拟试卷附答案详解(突破训练)
- 2025贵州织金翔盛工业发展有限公司招聘考前自测高频考点模拟试题及1套完整答案详解
- 浙江国企招聘2025浙江交投中碳环境科技有限公司招聘20人笔试历年参考题库附带答案详解
- 贵州国企招聘2025某国有企业劳务外包人员招聘笔试历年参考题库附带答案详解
- 浙江国企招聘2025台州市黄岩经开投资集团有限公司下属公司公开招聘市场化工作人员3人笔试历年参考题库附带答案详解
- 武汉市江夏国资集团招聘财务工作人员综合及考察事宜笔试历年参考题库附带答案详解
- 湖南安全员c3考试试题及答案
- 2025年中学生心理健康测试题及答案
- 二年级防溺水教案
- 后厨设备安全操作培训课件
- 好风起二部合唱简谱致远音乐
- 电子辅料基础知识培训
- Unit 2 Ways to go to school Part A Let's talk 英语教学课件
- 无人机使用课件
- 柔性装配基础知识培训课件
- 卫生检验副高评审个人汇报
- 2025年低压电工理论考试1000题(附答案)
评论
0/150
提交评论