摘 要:针对知识库中查看附件中的文档,采用JODConverter和OpenOffice将Txt、Word、Excel、PPT格式的文件转换为PDF文件,通过PDF2SWF工具将PDF文件转换为SWF文件,使用FlashPlayer在页面显示,实现在线预览功能.
关 键 词 :在线预览;OpenOffice;JodConverter;FlashPlayer
中图分类号:TP319
知识库采用web编辑器进行在线编辑文档时,对图片、表格的编辑会出现乱码.文献[1-2]采用FlashPaper虚拟打印功能将文档转换为swf格式实现预览.文献[3-4]研究了基于Docbook规范的文档格式转换工具的设计与实现.然而文献[1]缺乏对PDF文档的转换,文献[2]转换文档需按照其规定的格式进行编写,为了解决以上问题,本文通过OpenOffice与JodConverter实现Txt、Word、Excel、PPT格式文档的在线预览.
1.文档预览方案
知识库中文档以附件的形式上传后,以flash的形式在网页上展示.文档需要先转化为pdf,再从pdf转化为flash.本文采用JODConverter和OpenOffice将Txt、Word、Excel、PPT格式的文件转换为PDF文件,再通过SWFTools中的PDF2SWF工具将PDF文件转换为SWF文件,最终在页面显示,实现在线预览功能.OpenOffice 是一套跨平台的办公室软件套件,能在Windows、Linux等操作系统上执行.它与各个主要的办公室软件套件兼容,支持XML、微软的Word、Excel、PPT文件等格式.为了把文档转换PDF格式,需将openoffice.变成一个转换引擎,可以通过网络接口或命令行工具对文件的格式进行转换.JODConverter能够将Word、Excel、PPT转换PDF.SWFTools是一种与Adobe Flash(SWF)文件工作的实用工具包,主要包括用于读取、编译以及生成SWF文件的程序.其中,PDF2SWF工具可以将PDF文件转换成SWF文件.FlexPlayer是一款高性能的、轻量型且极具表现力的客户端运行时,能够在各种主流操作系统、浏览器上使用,使得在没有安装PDF阅读器软件的情况下浏览PDF文件成为可能.本文采用Ja语言对其进行编程实现,具有与Ja语言相同的跨平台性,可在不同的操作系统上运行.
有关论文范文主题研究: | 关于操作系统的论文例文 | 大学生适用: | 专升本毕业论文、学位论文 |
---|---|---|---|
相关参考文献下载数量: | 72 | 写作解决问题: | 如何写 |
毕业论文开题报告: | 标准论文格式、论文前言 | 职称论文适用: | 论文发表、初级职称 |
所属大学生专业类别: | 如何写 | 论文题目推荐度: | 经典题目 |
2.实现步骤
2.1 用JODConverter调用OpenOffice.怎么写作转换文档为PDF格式
首先,启动OpenOffice怎么写作.设定DefaultOfficeManagerConfiguration相关参数,并得到OfficeManager.调用OfficeManager实现类的start方法启动怎么写作.主要代码如下:
DefaultOfficeManagerConfiguration configuration 等于
new DefaultOfficeManagerConfiguration();
configuration.setOfficeHome(OPENOFFICE_HOME);// OPENOFFICE_HOME为OpenOffice.安装目录
configuration.setPortNumbers(port); // OpenOffice.实例运行的端口号,默认为8100
officeManager 等于 configuration.buildOfficeManager();
officeManager.start(); //启动怎么写作
其次,将doc、ppt、excele、txt转化为pdf文档.
初始化OfficeDocumentConverter并调用其convert方法执行文档转化.主要代码如下:
OfficeDocumentConverter converter 等于 new
OfficeDocumentConverter(officeManager);
converter.convert(new File(inputFile),new File(pdfFile));
//inputFile(pdfFile)为文档(生成的pdf文档)存放的据对路径(包含文件后缀).
最后,停止OpenOffice怎么写作.调用OfficeManager实现类的stop方法停止怎么写作.
2.2 用SWFTools转换PDF文档为SWF格式
PDF2SWF提供了命令行参数,我们可以通过Ja的Runtime和Process调用PDF2SWF提供的命令将PDF转为SWF.
首先,创建PDF2SWF转换命令字符串.
toolPath -t sourcePath -o swfPath -s flashversion等于9
其中toolpath为pdf2swf.exe的据对路径,sourcePath 为准备转换的pdf文件的绝对路径,swfPath为转换后的swf文件存放的据对路径.flashversion等于9的设置可以保证转换后的文件可以用flexpaper播放.
其次,获得当前运行时Runtime,调用上一步中的转换命令进行转换.
2.3 用FlexPaper显示SWF
将下载好的FlexPaper中的js文件夹和FlexPaperViewer.swf文件拷贝到项目目录下,根据FlexPaper项目中演示demo设置相应的参数即可完成swf文件的播放. 这样在线预览功能得以实现.
3.关键技术解析
3.1 乱码问题
转换文档的时候出现中文乱码.这是因为文档的编码格式为GB2312,文件写入时的编码为UTF-8,因为读取文件的编码格式与文件写入的编码格式不同.可以在读文件内容是通过Ja代码将读出的文件内容以UTF-8格式保存,这样再写入该格式的文件是就不会出现乱码问题了.
3.2 swf文件无法播放
使用SWFTools生成的swf文件无法播放,页面一直处于正加载状态.这是由于Flexpaper还没获得Adobe Flash的信任,此时需在Adobe把存放swf文件的文件夹夹添加到信任列表中.
3.3 多附件上传时导致文档转换时间过长
由于每一次的文档转换都需要启动、关闭OpenOffice软件,多附件上传时频繁的开启关闭系统,造成资源的浪费,导致转换时间过长.这时可以先进行文档上传操作,最后对上传的全部文档进行统一转换,这样只需开启一次OpenOffice软件,节省了转换时间.
4.结束语
本文提供了一种常用文档(Txt、Word、Excel、PPT)在线预览功能的实现方式,实现了跨平台应用,从而节省了多平台开发时间.将文档预览功能应用于知识库,对其中的文档进行转换处理后,当用户获取以文档形式存在的知识时,可以省去其下载的时间,在客户端也无需加装任何软件,方便用户浏览,从而加快知识的传播与应用.