文档在线预览的另一种实现方式采用的技术栈是OpenOffice + pdf.js, office文档转换为pdf的工作依然由OpenOffice的服务来完成,pdf生成后我们不再将其转换为其他文件而是直接将pdf文件通过js框架直接展示到web页面,这样相对于方案一的实现少了一层转换,效率会更快,而且pdf.js由mozilla团队维护,不用担心后期维护问题,客户端浏览器不需要安装pdf阅读器插件,唯一的要求是浏览器必须支持html5。这种方案的实现过程是:
- 通过OpenOffice的服务将office文档及文本文档转换为pdf文档。
- 通过pdf.js将pdf文件展示到web页面。
流程图:
优缺点分析:
缺点:客户端浏览器必须支持html5
优点:pdf.js渲染出的页面很类似与pdf阅读器,支持文本搜索和字体缩放,支持分页等,用户体验较好。
图例:
Demo:
https://github.com/StoneFeng/DocOnlinePreview2.git