类似百度文库在线预览文件内容技术探讨
Posted xuexiaodong2009
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类似百度文库在线预览文件内容技术探讨相关的知识,希望对你有一定的参考价值。
类似百度文库之类的控件如何实现?也就是不管什么类型的文件上传后,都可以预览,而不管客户端浏览器是否安装有对应的软件。
由于项目需要,也需要一个类似的功能,于是自己也翻阅了相关资料。总结了一下前人的实现方式。 对于一般的图片文件,记事本文件,浏览器能直接打开的预览自然可以实现,不需要特殊处理 pdf文件通过js脚本也可以打开,不需要客户端安装软件具体可参考 但常用的word,excel,PPT文件如何实现预览呢? 其实各种实现预览的技术,基本都是先进行转换,例如转化为html文件,或者是PDF文件不就可以实现预览了吗? 至于实现只能预览不能下载,修改,基本上都是把文件转为PDF文件在转为Flash文件,例如使用pdf2swf,swftools,FlexPaper就可以实现类似百度文库的效果了。
于是核心的问题,成了如何把word,excel,PPT文件转化为PDF之类可以直接预览的文件。 主要有几种实现方式: 1使用微软的软件把文件转化为HTML文件 其实微软本身就带有这样的功能,直接打开文件另存为就可以了。但如何通过程序来实现的? 只能使用微软office的com组件,这种实现方式相对来说挺简单,但使用的是com的组件,就必须安装微软的office,否则你就必须知道com之间的依赖关系。但使用com就容易出现各种各样的错误,而且一般都很难找到解决方法。 web程序要调用com,这又涉及到权限问题,也不好处理。当然可以把转化文件的功能做成服务,只要发现上传了文件就转化,就没有web程序权限问题了。 其实微软还提供了一种在线预览的方式,具体参考,但要求必须有外网。 或者把这套软件安装在公司内部,具体如何安装,我就不太清楚了。
2使用第三方软件转为PDF,或者是HTML文件,例如Pageoffice,aspose等,但都是收费的,目前还没有发现免费的。 具体如何使用请参考官网。
一时之间也没有找到好的方法,于是就使用微软的com实现了在线文件预览功能。 Csharp调用微软COM转换word为HTML Csharp调用微软COM转换excel为HTML
Csharp调用微软COM转换ppt为HTML
参考文档 .net 实现Office文件预览
以上是关于类似百度文库在线预览文件内容技术探讨的主要内容,如果未能解决你的问题,请参考以下文章
dedeCMS如何实现上传的doc PPT文档在线阅览,就像百度文库一样。