在文档在线预览方面,项目组之前使用的是Microsoft office web apps, 由于该方案需要按照微软License付费,项目经理要我预研一个文档在线预览的开源实现方案。仔细钻入该需求发现其实文档在线预览的开源方案还是挺多的,今天研究的方案一采用的技术栈是:OpenOffice +SwfTools + FlexPaper, 这种方案是目前比较成熟的方案,很多网站采用该方案来实现在线预览的功能。这种方案的思路是这样的:
- 通过OpenOffice的服务将office文档及文本文档转换为pdf文档。
- 通过SwfTools将pdf文档转换为swf文档。
- 通过FlexPaper的js框架将swf文档展示到web页面。
流程图:
优缺点分析:
缺点:
- 服务器上面需要安装SwfTools来将pdf文件转换为swf文件。
- 客户端浏览器需要安装flash插件.
优点:FlexPaper的界面很像pdf阅读器,支持文字放大缩小及搜索等功能。
示例:
Demo: https://github.com/StoneFeng/DocOnlinePreview1.git