net实现Office文件预览(openoffice预览)

net实现Office文件预览(openoffice预览)

浏览次数:
信息来源: 用户投稿
更新日期: 2025-11-14 13:48:57
文章简介

分析了下网易邮箱的文件预览功能,他用的是微软的组件,最早叫Officeonline,现在分开了叫Wordonline、Excelonline....等等,效果十分炫酷功能十分强大,但是查看了下对api

2025阿里云双十一服务器活动

分析了下网易邮箱的文件预览功能,他用的是微软的组件,最早叫Officeonline,现在分开了叫Wordonline、Excelonline....等等,效果十分炫酷功能十分强大,但是查看了下对api的说明发现对服务器的要求比较苛刻而且配置比较复杂不太适合。然后又看了下腾讯用的是永中第三方组件,效果嘛自然比不上微软的但是能用,综合网上的一些资料大概也就那么几种方式实现

1.使用Microsoft的Office组件将文件直接转换为html文件(优点:代码实现最简单,工作强度最小。缺点:效果极差)

2.使用Microsoft的Office组件将文件转换为PDF格式文件,然后再使用pdf2swf转换为swf文件,也就是flash文件在使用FlexPaper展示出来(优点:预览效果能接受,缺点:代码量大)

3.使用Officeonline(优点:表现完美,缺点:不适合中小企业应用)

综合考虑决定使用第二种方法,经过次次波折终于可以使用,但是有个问题至今没有得到解决,调用Office组件的时候有时候会出现如下异常:

检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件失败,原因是出现以下错误:8000401a因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。(异常来自HRESULT:0x8000401A),查阅无数资料还是不能解决,最让人不可接受的的是office文件必须标标准准毫无容错能力,当转换ppt文件时竟然会弹出转换进度框!!

使用ASPOSE+pdf2swf+FlexPaper

关于ASPOSE大家可以到官网了解,这是款商业收费产品但是免费也可以使用

3、将pdf文件转swf的转换器放到站点根目录下新建文件夹pdf2swf(我就是这么配置的,您随意)

<scriptsrc="https://www.mfisp.com/FlexPaper/js/swfobject.js"type="text/javascript"></script>

<scripttype="text/javascript"src="https://www.mfisp.com/FlexPaper/js/flexpaper_flash.js"></script>

<divid="flashContent">

ToviewthispageensurethatAdobeFlashPlayerversion

10.0.0orgreaterisinstalled.

<scripttype="text/javascript">

varpageHost=((document.location.protocol=="https:")?"https://":"http://");

net实现Office文件预览,openoffice预览

<scripttype="text/javascript">

var_filename=document.getElementById("_filename").value;

varswfVersionStr="9.0.0";

varxiSwfUrlStr="playerProductInstall.swf";

SwfFile:escape(_filename),

ZoomTransition:"easeOut",

FullScreenAsMaxWindow:false,

ViewModeToolsVisible:true,

allowscriptaccess:"sameDomain",

varattributes={id:"FlexPaperViewer",name:"FlexPaperViewer"};

swfobject.embedSWF("/FlexPaper/FlexPaperViewer.swf","flashContent","980","620",swfVersionStr,xiSwfUrlStr,flashvars,params,attributes);

swfobject.createCSS("#flashContent","display:block;text-align:left;");

document.getElementById("_filename").value是预览文件的路径

OK?大功告成?,至于如何上传,怎么保存上传的文件等等那些逻辑我这里就省略了。。。。,但是有个建议,当用户上传文件之后调用转换api生成预览文件是个耗时的操作,

文件越大耗时越长,也就是说生成预览文件的时候是需要时间的,因此我使用异步方式生成预览文件。

标签:
linuxjboss是什么(linux什么意思)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!