基于Web 文档在线浏览的实现

2014-03-13 07:01陈引迪李隐峰
电子科技 2014年5期
关键词:调用文档办公

陈引迪,李隐峰

(西安电子科技大学 电子信息工程学院,陕西 西安 710071)

随着信息技术的快速发展和互联网的普及,越来越多的用户选择在网络上分享喜欢的文档。然而,目前的网络分享平台,诸如网络硬盘、论坛等都无法在线浏览用户上传的文档内容,当其他用户要阅读文档时,必须先将文档下载到本地电脑,然后使用相应格式的阅读软件打开,这导致用户经常下载了不符合需求的文档,造成了用户时间和网站服务器资源的双重浪费。

构建了一个集文档上传、格式转换、在线浏览于一身的文档在线浏览系统[1-2]。详细分析了系统的功能性需求及架构,同时介绍了系统实现中所用到的框架、开源软件及脚本语言等信息。

1 系统功能与架构

1.1 系统的功能

系统主要由文档上传、文档格式转换和文档在线浏览3 部分组成:(1)文档上传。用户首先在本系统注册,登录系统后可在文档上传页面填写文档名称、关键词、摘要、类别、售价等信息,然后上传文档附件,得到系统上传成功的反馈后关闭页面即可。(2)文档格式转换。系统在接收到用户上传文档后开始进行文档在线转换,转换过程将在下文详细描述。(3)文档在线浏览。文档经过格式转换后,系统利用FlexPaper 开源组件[1]实现文档的在线浏览,用户可在文档浏览界面对该文档进行评价及评分。

1.2 系统总体架构

系统基于ThinkPHP 框架开发而成。ThinkPHP 是一个原创的、性能卓越、开发便捷高效的PHP 开发框架,其宗旨是利用有限的代码完成最多的功能,使得开发过程更高效、简单、有趣。

作为一个网络系统开发框架,ThinkPHP 可以满足开发者在系统开发过程中所遇到的绝大部分需求,它包括独立的底层架构、兼容性处理、基类库、数据库访问层、模板引擎、缓存处理机制、插件应用机制、角色认证机制及表单自动处理等常用组件,也可方便地在不同平台、不同版本的环境中开发,并可在开发过程中访问不同数据库[3-5]。在开发过程中,开发者只需要关心系统业务逻辑和数据的处理。ThinkPHP 集成了大多数框架的功能,可以使用ThinkPHP 完成整个系统的开发,无需使用多个框架结合开发。

2 文档格式转换

文档在线转换所使用的工具包括WPS Office、PDF2SWF,利用PHP 嵌入式脚本语言调用上述工具可完成文档格式的实时转换。

2.1 WPS Office

编辑系统(Word Processing System,WPS),是金山软件公司的一种办公软件。WPS 能提供COM 组件,用户可使用多种编程语言调用其组件进行各种文档格式间的转换[6]。

作为一个免费的文档编辑系统,WPS Office 比MS Office 有以下优点:兼容并提升办公效率:文档在高度兼容的基础上创新,更好地适应企业办公信息化需求。

(1)有利于信息化发展。企业信息化是企业迎接新挑战的重要工具,专业的软件公司可以为企业提供更务实、准确的建议和支持配合。

(2)有保障的售后服务技术支持。公司强大的售后服务和技术支持,真正使办公软件发挥办公信息化的作用,提升企业整体办公效率、安全、发展。

2.2 PDF2SWF

SWFTools 是一种实用工具与swf 文件工作的集合,该工具集包括用于阅读的swf 文件,以及结合他们建立的其他程序。PDF2SWF 是其下一个将pdf 文件创建为数字化翻页杂志的工具。可将清晰地pdf 文档变成数码杂志,且翻动内容的过程与纸质书一样,创建的所有文件都由html、xml 和swf 文件组成,可发布到网络[7-8]。

2.3 文档格式转换

文档格式转换分为两步:将word、excel、ppt 等Office文件转换为pdf 文件,及pdf 文件转换为swf 文件。

2.3.1 Office 文档转换为pdf 文件

使用PHP 调用WPS 的COM 组件,可将word、excel、ppt 等MS Office 文档在线转换为WPS Office 格式,并继续转换为pdf 文件[2]。具体代码如下:

(1)Word 文档(doc、docx、rtf、wps)格式转换代码如图1 所示。

图1 Word 文档格式转换

(2)Excel 文档(xls、xlsx、et)和ppt 文档(ppt、pptx、dps)格式转换代与之类似。

2.3.2 pdf 文件转换为swf 文件

考虑到服务器压力和用户体验的问题,本文放弃了在线实时转换文档格式的方案,选择了在后台将pdf文件转换为swf 文件[2]。具体过程如下:

(1)编写pdf2swf.php 文件,读取数据库中未转换为swf 文件的pdf 的信息,并写入a.bat 文件,代码如图2所示。

图2 pdf2swf.php 内容

(2)编写pdf2swf.bat 文件,利用Windows 计划任务功能,定时执行pdf2swf.php,文件内容如图3 所示。

图3 pdf2swf.bat 内容

(3)定义计划任务定时执行a.bat,利用cmd 命令行调用pdf2swf.exe,生成swf 文件,如图4 所示。

图4 cmd 命令行调用pdf2swf.exe

3 文档在线浏览

文档格式转换完成后,系统将调用FlexPaper 开源组件读取相应swf 文件,并在文档浏览页面显示文档内容。文档在线显示效果如图5 所示。

图5 文档在线浏览效果

4 结束语

文中介绍了如何将Office 文件转换为swf 文件,并利用FlexPaper 组件在线显示。此方法有效减少了服务器资源占用,提高了用户体验满意度,可应用于大型文档共享网站文档在线浏览的实现,具有较强的实用性。

[1] 百度百科.FlexPaper[EB/OL].(2011-03-24)[2012-05-06]http://baike.baidu.com/view/3948797.htm.

[2] 在线文档显示组件.FlexPaper[EB/OL].(2010-01-05)[2012-06-07]http://www.oschina.net/p/flexpaper.

[3] DevaldiLtd.FlexPaper[EB/OL].(2010-12-01)[2012-06-07]http://flexpaper.devaldi.com/Docs.html.

[4] 冀明.Web 文档的首选语言[J].电子科技,2001(9):30-31.

[5] 王显斌.DSpace 系统在线浏览功能的实现[J].数字技术与应用,2013(6):186-187.

[6] 李秋玲,李宁,田英爱.基于Web Service 的办公文档格式安全转换服务[J].北京信息科技大学学报:自然科学版,2013,28(1):56-61.

[7] 苏中,马少平,杨强,等.基于Web-Log Mining 的Web 文档聚类[J].软件学报,2002,13(1):99-104.

[8] 董斌,陈进哲,张瑜.基于本体的Web 文档知识获取的框架研究[J].计算机与信息技术,2008(7):15-16,19.

猜你喜欢
调用文档办公
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
Sharecuse共享办公空间
X-workingspace办公空间
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
U-CUBE共享办公空间
基于系统调用的恶意软件检测技术研究
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat