标签:
类似百度文库之类的控件如何实现?也就是不管什么类型的文件上传后,都可以预览,而不管客户端浏览器是否安装有对应的软件。
由于项目需要,也需要一个类似的功能,于是自己也翻阅了相关资料。总结了一下前人的实现方式。
对于一般的图片文件,记事本文件,浏览器能直接打开的预览自然可以实现,不需要特殊处理
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实现了在线文件预览功能。
参考文档
版权声明:本文为博主原创文章,未经博主允许不得转载。
类似百度文库在线预览文件内容技术探讨
标签:
原文地址:http://blog.csdn.net/xuexiaodong009/article/details/46830903