本发明涉及计算机技术领域,具体涉及文档在线转码方法及系统。
背景技术:
目前的文档转码的过程是:大致分为两种,第一种是直接在线将word转化为html格式,另外一种是直接将word文档转化为单个swf文件格式。
现有的转码技术存在的技术问题是:
1、直接在线将word转化为html格式时,存在不能按照原有的word文件内容格式进行一比一的展示的问题;
2、直接将word文档转化为单个swf文件时,存在安全风险,有开发经验的人员可以直接找到swf文件的源地址,并且下载下来,导致文件信息的泄露。
综上所述,现有技术中对于文档的在线转码的问题,尚缺乏有效的解决方案。
技术实现要素:
为解决现有技术存在的不足,本发明公开了文档在线转码方法及系统。本发明完全保留了原有word文档的样式,提升文档的阅读性。
为实现上述目的,本发明的具体方案如下:
文档在线转码方法,包括以下步骤:
采用外部插件saveaspdfandxps将office文档转化为pdf格式文件;
采用pdf2swf.exe组件将pdf文件转化为与原始文件的内容完全一致的swf文件;
在web中利用flexpager专用播放器通过参数控制将生成的一个以帧为单位的图片集合的swf文件进行播放展示。
进一步的,将office文档转化为pdf格式文件的具体过程为:
读取type=0的文档,判断是否支持在线预览的文档,如果是,判断是否为pdf文档,如果不是,则转化成pdf文档,如果是pdf文档,则保存,并设置type为1;
当文档不支持在线预览,则设置tpye为-1,在转换为pdf文档时,当转化不成功时,设置type为-2。
进一步的,将pdf文件转化为与原始文件的内容完全一致的swf文件的具体过程为:
读取type=1的文档,生成swf文件,判断是否生成成功,当不成功时,设置type为-3,当成功时,保存,并设置type为2,结束。
更进一步的,将office文档转化为pdf格式文件在程序执行时:
启动openoffice服务,首先设定defaultofficemanagerconfiguration相关参数来配置openoffice,并得到officemanager。调用officemanager实现类的start方法启动服务;
转换文档,初始化officedocumentconverter,调用其convert方法执行转换;
停止openoffice服务,调用officemanager实现类的stop方法停止方法。
更进一步的,将pdf文件转化为与原始文件的内容完全一致的swf文件在程序执行时:
创建pdf2swf转换命令字符串;
获得当前运行时runtime,调用第一步中设定好的转换命令,进行转换;
返回转化成功或者失败标示,结束。
更进一步的,播放展示时:
播放器物理文件存放在应用网站的根目录中;
在文档预览的web页面中通过传递相关浏览参数实现加载播放器。
文档在线转码系统,包括:
第一格式转化程序模块,采用外部插件saveaspdfandxps将office文档转化为pdf格式文件;
第二格式转化程序模块,采用pdf2swf.exe组件将pdf文件转化为与原始文件的内容完全一致的swf文件;
播放展示程序模块,在web中利用flexpager专用播放器通过参数控制将生成的一个以帧为单位的图片集合的swf文件进行播放展示。
进一步的,所述第一格式转化程序模块中,将office文档转化为pdf格式文件的具体过程为:
读取type=0的文档,判断是否支持在线预览的文档,如果是,判断是否为pdf文档,如果不是,则转化成pdf文档,如果是pdf文档,则保存,并设置type为1;
当文档不支持在线预览,则设置tpye为-1,在转换为pdf文档时,当转化不成功时,设置type为-2。
进一步的,所述第二格式转化程序模块中,将pdf文件转化为与原始文件的内容完全一致的swf文件的具体过程为:
读取type=1的文档,生成swf文件,判断是否生成成功,当不成功时,设置type为-3,当成功时,保存,并设置type为2,结束。
更进一步的,所述第一格式转化程序模块中,将office文档转化为pdf格式文件在程序执行时:
启动openoffice服务,首先设定defaultofficemanagerconfiguration相关参数来配置openoffice,并得到officemanager。调用officemanager实现类的start方法启动服务;
转换文档,初始化officedocumentconverter,调用其convert方法执行转换;
停止openoffice服务,调用officemanager实现类的stop方法停止方法。
更进一步的,所述第二格式转化程序模块中,将pdf文件转化为与原始文件的内容完全一致的swf文件在程序执行时:
创建pdf2swf转换命令字符串;
获得当前运行时runtime,调用第一步中设定好的转换命令,进行转换;
返回转化成功或者失败标示,结束。
更进一步的,所述播放展示程序模块在实现播放展示时:
播放器物理文件存放在应用网站的根目录中;
在文档预览的web页面中通过传递相关浏览参数实现加载播放器。
本发明的有益效果:
1.本发明完全保留了原有word文档的样式,提升文档的阅读性。
2.本发明swf预览文件进行了控制,即使下载了swf文件,也无法直接通过ie或其他swf播放器查看所有的文件内容。
3.本发明实现了用户在不安装office任何插件的情况下,可以使用浏览器直接进行word等文件内容的浏览。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1本发明中生成pdf的流程图;
图2本发明中生成flash的流程图;
图3本发明中的pdf二次转换流程图。
具体实施方式:
下面结合附图对本发明进行详细说明:
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本申请的一种典型的实施方式中,文档在线转码方法,包括:
通过flexpager组件将word,excel等文档转换为swf文件,这样就可以通过网页直接进行内容展示,整体转码思路为:
1.word等文档转换为pdf,采用office外部插件《saveaspdfandxps》将office文件转化为pdf,生成临时文件a.pdf
2.通过swftools中的pdf2swf.exe组件将pdf文件转化为swf文件b.swf,同时删除上一步的临时文件a.pdf
相关命令如下:
c:\swftools\pdf2swf.exea.pdf-ob.swf
3.在web中进行展示b.swf文件进行展示,相关参数如下
在转换的过程中经历pdf二次转换,目的是为了保证最终的swf文件与原始文件的内容完全一致,生成的swf文件为一个以帧为单位的图片集合,本身并不具备下一页功能,必须通过flexpager专用播放器通过参数控制播放。
文档转码的具体过程:本系统用flexpaper与pdf2swf一起使用(首先是通过pdf2swf工具将word文件转化为swf格式的文件,然后再通过flexpaper提供的flash播放器进行swf文件的加载展示),实现在浏览器上显示各种格式的文档,它的原理是先用openoffice软件把doc、ppt、xls、txt等格式文档转换为pdf格式,然后使用开源的swftools软件将pdf转成swf格式文件,最后用flexpaper加载swf文件实现office文档的在线浏览。
如图1所示,生成pdf的过程为:
读取type=0的文档,判断是否支持在线预览的文档,如果是,判断是否为pdf文档,如果不是,则转化成pdf文档,如果是pdf文档,则保存,并设置type为1。当文档不支持在线预览,则设置tpye为-1,在转换为pdf文档是,当转化不成功时,设置type为-2。
如图2所示,生成flash的过程为:(最终文档在线是以swf格式进行展示)
读取type=1的文档,生成swf文件,判断是否生成成功,当不成功时,设置type为-3,当成功时,保存,并设置type为2,结束。
本申请中通过flexpager组件将word,excel等文档转换为swf文件,具体步骤:
a.jodconverter调用openoffice服务转换文档
第一步,启动openoffice服务。例如,首先设定defaultofficemanagerconfiguration相关参数来配置openoffice,并得到officemanager。调用officemanager实现类的start方法启动服务。
第二步,转换文档。例如,初始化officedocumentconverter,调用其convert方法执行转换。
第三步,停止openoffice服务。例如,调用officemanager实现类的stop方法停止方法。
b.利用swftools转换pdf文档为swf文件
第一步,创建pdf2swf转换命令字符串。
第二步,获得当前运行时runtime,调用第一步中设定好的转换命令,进行转换。
如图3所示,pdf二次转换时,还包括:
开始,设置转换命令,获取当前运行时runtime,执行转换命令,返回转化成功或者失败标示,结束。
播放器物理文件存放在应用网站的根目录中;
在文档预览的web页面加载播放器时以下面形式传递相关浏览参数:
本申请的另一种典型的实施方式中,文档在线转码系统,为采用第一种典型的实施方式中方法相对应的程序模块系统。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。