APP下载

手机终端预览办公文档的解决方案

2011-03-15邹清保廖闻剑彭艳宾

电视技术 2011年20期
关键词:预览服务端附件

邹清保,廖闻剑,彭艳宾,程 光

(1.武汉邮电科学研究院,湖北武汉430074;2.烽火通信科技股份有限公司,江苏南京210019;3.东南大学计算机科学与工程学院,江苏南京211189)

0 引言

随着3G时代的到来,手机应用日渐热门。由于手机自身携带方便,并且是生活必带随身用品,而且信号覆盖广,操作便捷,大家期待各种常见的或是重要的信息化系统、互联网应用可以被移植到手机上同步使用,使用户无论在何时何地,都可以连线精彩的网络世界,登录信息系统。为此,如何进行手机开发,如何在手机上催生各种多姿多彩的精彩应用,日渐成为整个软件产业关注的焦点[1]。

1 技术现状

目前市场上流通着各种类型的手机终端,根据功能分为高、中、低档机,各种手机终端和操作系统对办公文档的支持能力是不同的。通常高档机型才装有例如Microsoft Office的办公软件,支持本地查看和编辑Office文档,在想查看网络上办公系统的附件时,就必须要把附件文档下载到本地,终端调用本地Office软件打开文档,达到预览的效果。部分中档的机器可以安装办公软件,部分不能支持。而低档机器基本不能支持安装办公软件,无法查看如 WORD、EXCEL 等办公文档[2]。

这种预览方式存在的缺陷:每次预览文档都需要把文件从网络上下载到本地,然后打开,操作复杂且网络流量十分庞大,不能满足用户预览文档的操作简便、流量小的需求。预览办公文档的实现方法就是着力于解决不同机器的差异和网络流量较大的问题。

为解决上述问题,通常让终端负责展现文字及图片信息,解决网络流量较大的问题:服务器将文档解析后,只返回文档的某一页信息给终端,而不是把整个文档返回给终端。这样做大大减少了网络通信的流量,解决了访问时间较长的问题。同时,服务器对文档转换有缓存机制,对于多次请求相同文件的情况,只在首次请求时做转换,后续则直接提取缓存信息,而无需转换,从而提高了访问速度。

2 解决方案

智能终端上预览办公文档的实现步骤如图1所示。

图1 智能终端上预览办公文档的实现流程图

步骤1,分析办公文档的格式,根据系统配置的文档转换方式对办公文档进行解析。办公系统中使用的文档种类很多,如 WORD,PPT,EXCEL,PDF,ZIP,RAR等,各种类型的文档格式都不相同,需要对应使用不同的解析办法。系统配置的文档转换方式有图片转换和文字转换。

步骤2,根据不同文档格式,对文档进行分页并输出每页的XML描述,并在每页中加入页面导航,进行缓存处理。各种格式的文档有各自的显示特点,根据各自的特点,做分页处理,加入页面导航,并输出各页XML描述。采用缓存机制处理,即某一文档初次被解析过后,会对解析的数据做缓存,当再次需要解析时,直接提取初次解析的缓存信息,更新缓存过期时间,而不作重复解析,以提高性能,根据缓存过期时间定时清理长时间未访问的缓存。

步骤3,对转换生成的图片或办公文档中的图片进行格式和大小转换,减小图片尺寸,适应终端显示。文档解析过程中会生成图片,这些图片有些是原文档中的插图,有些是原文档某一整页的图片扫描。各种终端对图片的支持能力不同,需要对图片做格式、大小和尺寸的转换适应终端显示。

步骤4,将第1页的XML输出给终端。文档解析后最终输出到终端的都是文档的第1个分页XML,由终端解释显示该XML,每一个分页XML中都包含了分页链接的请求地址。

步骤5,终端对XML进行显示。由智能终端上的客户端程序显示XML,该XML需符合自主规范的UIXML语法规范。

步骤6,在终端翻页查看时,将指定页的XML数据输出给终端进行显示。每一个分页XML中都包含了首页、上一页、下一页、末页的请求地址,终端点击分页按钮,就会像服务器请求具体某一分页的缓存数据,达到分页效果。对文档作图片转换,即将整个文档作图片扫描,最终按照文档的原始分页生成每一页的图片,将图片信息缓存在服务器端,把各个分页图片的链接构造成整个文档的各分页XML描述,终端收到XML后对链接做二次请求获取图片,最终展现给终端。对文档做文字转换就是提取文档中的文字和部分图片的链接信息构造成XML,终端先显示文字,再判断有图片链接时会发起二次请求,获取图片展现给终端。WORD和PDF文档的分页是依照传统的分页形式展现到终端[3]。PPT文档的分页是以PPT文档的每个幻灯片作为分页依据,即一个幻灯片就是一页。EXCEL文档的分页是以EXCEL文档的每个SHEET作为分页依据,即一个SHEET就是一页。RAR和ZIP文档以文件层次结构形式显示,其首页为最高层次的目录和文件,目录中包含了子目录和子文件。

3 优化方案

可以对附件预览的前后台交互协议、缓存文件管理等方面进行优化处理,提升附件预览的整体性能。

3.1 客户端-服务端交互协议

优化以前采用图片预览方式转换WORD和PDF文档时,请求附件的每个分页,客户端和服务端之间都存在两次交互:一次是请求分页的XML页面,其中包含分页图片的链接;一次是请求实际分页图片。对于优化前的图片预览方式转换WORD和PDF文档,不需要采用两次交互的方式[4]。

优化后,服务端仅回复实际分页图片。在响应头中增加附件预览标记信息,用于客户端识别附件预览响应。客户端对此类响应的图片,采用区别于普通图片的展示控件展示该附件分页图片。

3.2 缓存文件管理

以请求文档的URL区分不同文档,相同URL则认定为相同的文档(可能存在误差)。

文档唯一标识确定后,对于不同的文档,以各自不同的ID创建缓存文件目录,执行文档转换等工作生成的临时文件都存放在该目录中。PPM文件占用空间大,仅做临时文件生成,转换完成后,立即删除,避免浪费磁盘空间。当服务端启动时可以删除项目中的数据库文档转换表中的数据以及缓存目录下的保存文件。

负责配置缓存数据在服务器中保存的时间。当启动不删除缓存时,根据该配置清除配置期限之前的过期数据,以避免数据库及文件系统由于服务器长期运行造成的数据容量无限量增加的问题。同时,配置服务器定时执行过期缓存文件的检查时间,定时清除过期的文件。

3.3 优化后的实验分析

优化后的图片预览方式转换WORD和PDF文档,不需要采用两次交互的方式。优化后,服务端仅回复实际分页图片。在响应头中增加附件预览标记信息,用于客户端识别附件预览响应。客户端对此类响应的图片,采用区别于普通图片的展示控件展示该附件分页图片[5]。

新增文档预览,提供文档转换交互服务,客户端对于文档预览的请求向该地址发送请求,采用标准的HTTP协议FORM表单提交POST请求如表1所示。

表1 表单提交参数的意义

当附件在服务端首次执行预览转换后,服务端回复的是该附件的第一页图片,并在响应头设置该附件的总页数。客户端请求分页图片包(采用HTTP POST请求)示例如:

4 在手机终端预览办公文档的实现效果

将WORD和PDF文档以抽取文字的形式解析,并将文档的部分分页内容显示到终端。将WORD和PDF文档以扫描成图片的形式解析,以一个分页作为一张图片,并将文档的部分分页内容显示到终端。将EXCEL文档以表格的形式,按SHEET分页显示到终端。将PPT文档以文字和图片的形式解析,按幻灯片分页显示到终端。将RAR和ZIP等压缩文件,按照文件层次结构形式解析,并模拟PC机上打开压缩文件的形式在终端上预览压缩文件内容,并能预览压缩文件内部的子文件内容。将JPG,BMP,GIF等各种图片转换成大多数终端都支持的PNG图片,支持图片文件的预览。效果如图2~图7所示。

图2Word显示效果图(截图)

图3JPG显示效果图(截图)

5 小结

预览办公文档的实现极大方便了用户在手机阅读各类文献与材料,也使在手机终端上移动办公成为可能。移动信息化改变了固定模式的企事业单位信息化方式,使信息化建设模式变得更加灵活方便,满足企事业单位工作人员在出差、外出、休假,或是某些突发性事件时与单位信息体系的全方位顺畅沟通的需求。

图4HTML文档显示效果图(截图)

图5BMP显示效果图(截图)

图6EXCEL显示效果图(截图)

图7GIF显示效果图(截图)

[1]庚志成.2005全球3G发展总揽[J].电信技术,2006(1):108-111.

[2]马慕周.中国办公自动化(OA)25年发展回顾与展望[J].办公自动化,2008(2):10-11.

[3]王晓丽.冰山一角——如何保障远程移动办公安全[J].电子商务,2008(4):21-22.

[4]郑人杰.实用软件工程[M].北京:清华大学出版社,2004.

[5] 杨卫东.软件工程(第三版)[M].北京:人民邮电出版社,2007.

猜你喜欢

预览服务端附件
大型外浮顶储罐安全附件常见问题
附件三:拟制定的标准汇总表
新品预览
关于TSG 07——2019附件M与TSG Z0004——2007内容的对照
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
新型武器及附件展呈
11月在拍电视剧预览表
bauma China 2014展前预览
摸清黑客套路防范木马侵入