基于OpenOffice服务对新闻编辑方式的改进
2017-09-30杨权
杨权
基于OpenOffice服务对新闻编辑方式的改进
杨权
(湖南省妇幼保健院信息中心,长沙 410000)
为了减少新闻编辑人员的劳动量、实现医院不同系统环境的电脑能在线显示医院新闻的目标,现提出一种新的新闻编辑方式:利用OpenOffice的文档转换服务和FTP文件上传服务,新闻编辑人员上传包含新闻内容的文档就能发布新闻。实际应用表明,新闻编辑人员通过上传新闻文档再简单编辑就可以发布新闻;只要电脑安装有浏览器,医院用户就能在线浏览新闻。这简化新闻编辑操作流程,减轻新闻编辑人员的工作量,增强用户浏览新闻的体验度。
OpenOffice;新闻编辑;FTP上传文件;发布新闻
0 引言
目前医院新闻主要分为两类:一类是对医院内部宣传的新闻,一类是对医院外部宣传的新闻。发布针对医院内部的新闻是使用医院OA的一个“新建新闻”功能进行操作:首先输入新闻标题,然后将包含新闻内容的Word文档以附件的形式上传。新闻发布成功后,医院各类人员如果要查看新闻,可以进行在线阅读或下载后阅读;但是在线阅读存在许多问题:操作系统必须安装Microsoft Office软件、不能阅读高版本的Word文档、要求使用特定的浏览器等,这给在线阅读带来诸多不便。发布针对医院外部的新闻则使用医院官网的后台管理端的“发布内容”功能进行发布,需要输入新闻标题、摘要、内容等,其中新闻内容是在富文本编辑器(如CKEditor)里编写,如果要上传图片则使用富文本编辑器的图片功能进行上传。这种新闻编辑方式要求新闻编辑人员将新闻内容从Word文档中复制到富文本编辑器里面,图片也需要另外上传。如果要发布一篇包含多张图片的新闻,则需要多次上传图片,这增加了工作人员的工作量,产生不必要的重复劳动。
为了改善目前这种困境,新闻编辑的改进方案利用OpenOffice的文档转换服务,实现上传包含新闻内容的Word格式文档后自动在客户端(即浏览器,后文不再说明)界面中显示新闻标题、摘要、内容等,确认提交后即可完成新闻发布。
1 OpenOffice简介
OpenOffice是一个功能强大的跨平台办公套件[1],可以在Windows、Linux、Solaris等操作系统上运行;OpenOffice采用开放的OpenDocument标准作为数据交换标准[1];服务器在安装了OpenOffice和OpenOffice SDK软件包后,应用程序借助JODConverter包(一种基于Java的OpenDocument文件转换器),调用OpenOf⁃fice文档转换服务可以将Word、Excel、PowerPoint等格式文档转换为PDF、HTML等格式文档。
2 流程设计
2.1 客户端操作流程设计
新闻发布管理员登录新闻发布系统,在“新闻发布”界面中,管理员可以选择新闻编辑方式:直接编辑或从本地上传文件。直接编辑指目前常见的新闻编辑方式,需要操作人员手工输入新闻标题、摘要、内容等,选择文章缩略图以及其他操作以完成新闻发布;从本地上传文件指从本地电脑中选择已经编辑好的新闻文档(如Word格式文档),然后上传到新闻发布系统服务端;上传完成后,界面中自动显示文章标题、摘要、内容和缩略图(文档中包含图片才会显示缩略图)。如果是以本地上传文件的形式发布新闻,考虑到自动显示的内容的格式存在偏差,因此,操作人员可以再次编辑自动显示的文章内容,也可以重新上传文章缩略图,以保证新闻真实[2]。整个操作流程如图1所示:
图1 客户端操作流程图
2.2 服务端处理流程设计
服务端接收到客户端上传新闻文档请求后,首先保存文档到Web服务器中的一个临时目录下;然后调用Web服务器上的OpenOffice服务,将新闻文档转换为html格式文档;其次,读取HTML格式文档中的内容并进行一些html格式清理,同时获取文档中的图片地址并更改图片地址指向;第三,将文档转换过程中生成的图片上传到FTP服务器上的一个临时目录中;第四,删除Web服务器临时目录中保存的新闻文档、生成的html文档和转换过程中生成的图片;第五,将ht⁃ml文档中的内容以字符串的形式返回给客户端。整个处理流程如图2所示。
3 客户端处理具体实现
客户端采用BootStrap框架,它是目前最流行的前端开发框架[6]。在客户端的新闻发布界面中,需要设置一个<input type="file"name="newsfile"/>标签实现选择文件的功能;在整个处理过程中为了迅速地完成各种脚本功能[3],需要使用jQuery技术;由于用户需要在当前页面的富文本编辑器中看到新闻文件的内容,因此,需要使用AJAX技术实现异步提交;还需要JavaS⁃cript技术来获取富文本编辑器对象以及设置编辑器里面的内容,即:
var oEditor=CKEDITOR.instances.content;
oEditor.setData("要放入到编辑器的内容");
图2 服务端处理流程图
为了实现将选择的新闻文件构造成Form表单提交给服务端,可以使用FormData上传文件[4],具体的关键代码如下所示:
4 服务端处理具体实现
服务端采用基于Java的Spring框架[5],服务端所在服务器(以下简称服务器)必须安装OpenOffice、Ope⁃nOffice SDK软件,以提供文档转换服务;服务端需要导入JODConverter中的jar包以实现调用文档转换服务,导入Apache commons net软件包中的jar包以实现文件上传。处理过程分为六步:首先,将HttpServletRe⁃quest请求转换为MultipartHttpServletRequest请求;然后,从MultipartHttpServletRequest请求中获取文件参数并转换为CommonsMultipartFile;其次,将Commons⁃MultipartFile中的字节数据以文件形式保存到服务器的一个临时目录下;第四,调用JODConverter包中Doc⁃umentConverter类的convert方法将新闻文件转换为Html文件,新闻文件里的图片在转换过程中会自动以jpg格式文件保存在临时目录下;第四,读取HTML文件中的内容到字符变量中,清理字符变量里HTML多余的标签,同时更改图片地址指向;第五,调用FTP上传工具类将临时目录下的jpg格式图片上传到FTP服务器上;第六,将字符变量的数据返回给客户端。文档转换具体关键代码如下:
文件上传的关键代码可参考Apache Commons Net软件包中的例子,也可访问Apache Commons官网。
5 实验及结论
客户端上传新闻文档成功后的显示效果如图3所示:
图3 客户端显示效果
使用普通方式和改进的方式发布新闻在操作步骤、操作时间等各项参数对比结果见表1所示。
表1 普通方式和改进的方式发布新闻各项参数对比结果
由表1可知,使用改进的方式发布新闻可以简化操作步骤、节省操作时间,同时也能解决OA新闻在线预览需要特定软件配置的问题。
6 结语
本文详细阐述了基于OpenOffice服务改进新闻编辑方式的设计思路和实现方法。实际应用表明,使用这种上传新闻文档发布新闻的方式来发布新闻,避免了发布一篇带多张图片的新闻而需要多次上传图片的弊端,简化新闻发布操作,减少了工作人员的工作量;能够满足上传文档发布新闻的需求,可以推广应用于发布含有文字和图片的网络新闻[2]。但是,OpenOffice服务无法转换经过WPS编辑过的Word文档、不能将PDF格式的文档转换为HTML文档,这些问题有待后续进一步研究。
[1]刘柱垣.简简单单用OpenOffice写书[EB/OL].https://wenku.baidu.com/view/791d7d29647d27284b735192.html,2007.
[2]李良荣著.新闻学概论[M].出版地(上海):复旦大学出版社,2001:22-323.
[3]张子秋著.jQuery风暴-完美用户体验[M].出版地(北京):电子工业出版社,2011.
[4]ziv.zjc.FormData对象的使用[EB/OL].https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects,2017.
[5]郭克华著.JavaEE程序设计与应用开发[M].出版地(北京):清华大学出版社,2011.
[6]徐涛著.深入理解Bootstrap[M].出版地(北京):机械工业出版社,2014.
Improvement of News Editing Method Based on OpenOffice
YANG Quan
(The Maternal and Child Health Hospital of Hunan Province,Changsha 410000)
In order to reduce the workload of news editor,achieve the goal that the computer in the hospital under different system can show hospital news online,proposes a new method of editing news,news editor can publish news by uploading news document with the help of the service of OpenOffice and FTP.The practical application shows that news editor can publish news after uploading news document,editing simply,users in the hospital can skim news online as long as the computer installed the browser software.It simplifies the work step of editing news,reduces the workload of news editor,and strengthens the experience of skimming news.
OpenOffice;Edit News;FTP Upload File;Publish News
1007-1423(2017)24-0081-04
10.3969/j.issn.1007-1423.2017.24.019
杨权(1989-),男,湖南怀化人,本科,助理工程师,研究方向为移动应用
2017-05-15
2017-08-16