Office 文档在线预览的几种方案

Office 文档在线预览的几种方案

author: he xiaodong date: 2019-07-14

需求是office文档的在线预览,同时尽量保护版权,然后发现了几种成熟的方案:

office 在线预览服务

微软官方提供的服务,预览和编辑效果是最好的,当然微软支持自己搭建这个环境 例如链接:https://view.officeapps.live.com/op/view.aspx?src=http%3A%2F%2Fvideo.ch9.ms%2Fbuild%2F2011%2Fslides%2FTOOL-532T_Sutter.pptx

服务根URL:https://view.officeapps.live.com/op/view.aspx

请求方式: GET请求 附加附加参数 src= [你自己文档的URL地址] 需要是公开可以外网访问的地址,内网部署服务可以参考:https://docs.microsoft.com/zh-cn/webappsserver/deploy-office-web-apps-server微软官方的文档,据说授权价格很高,自行评估,这个真的是集预览和编辑与一身最好的解决方案。

第三方文档在线预览服务

最著名的就是百度云文档服务,这个是付费服务,参考:https://cloud.baidu.com/doc/DOC/API.html#.E6.A6.82.E8.BF.B0 需要上传文档,然后百度服务为文档转码,预览则是需要借助百度的web sdk,类似百度文库的一种展现形式,这个是简单易用的一个方案。

其他也有一些永中office的服务等,具体没去测试了。如果需要再货比三家就行。

借助 libreoffice 和 imagick 转成图片

本机用 windows10 系统进行实践了这个方案:下载安装 libreoffice,imagick 软件,执行命令:soffice --headless --convert-to pdf xxx.docx Soffice 在 libreoffice 安装目录的 programs 中,名称为 soffice.exe , 如果没有加入环境变量的情况下,直接全路径调用这个命令,不用加 .exe 的执行,libreoffice 会将文件转换成同名的 pdf 格式文件,然后可以用 imagick 将 pdf 文件转换成 png 截图文件,命令:magick convert xxx.pdf image.png ,imgick 会将 pdf 文件转换成多张 png 格式的文件,名称为image1.png image2.png 这样的,后者可以自定义,和前者 pdf 的文件名相关就行,预览就在 github 上找一个好的翻阅效果 js 就可以搞定,这个方案只占用服务器资源,没有很多难度,而且自定义性很强,推荐使用。

© 版权归属完美教育开发团队所有,不仅是个人的总结