office web viewer实现office文档在线预览
若要自行制作 URL,您可使用以下链接,其中 <文档位置> 是文档的 URL。
http://view.officeapps.live.com/op/view.aspx?src=\<文档位置>
注意: <文档位置> 必须是编码的 URL,并且文档在 Internet 上必须是可公开访问的。
以下是 Office Web Viewer 中的文档的一些示例:
如果您的文档是一个 Office 文档,并且在 Internet 上可公开访问,那么您便可顺利开始。Office Web Viewer 链接很好地替换了下载链接,因为您的读者无需特殊程序也能查看您的文档,并且他们无需退出其浏览器。
文档开起来平平无奇也蛮简单的,然后昨天就遇到坑了,踩完发现
1. 文档链接不支持ip访问的,需要有域名支持
2. 访问端口仅支持80,443端口
3. 不支持PDF预览
针对以上问题只能配置域名访问,pdf文档采用pdfjs实现在线预览
1. 域名配置
配置域名后发现测试服务器是内网虚拟机,对外没有映射80端口,只能曲线救国,从有80端口的服务器采用nginx的反向代理到测试服务器地址,从而解决了域名及端口的问题
2. pdfjs https://github.com/mozilla/pdf.js
下载pdfjs https://github.com/mozilla/pdf.js/releases/download/v2.5.207/pdfjs-2.5.207-es5-dist.zip
解压后重命名为pdfjs放至Upload目录下,Upload已经配置域名访问,例: doc.bingher.com
然后要访问Upload/20210117/demo.pdf的话,配置相应的访问链接如下:
http://doc.bingher.com/pdfjs/web/viewer.html?file=http://doc.bingher.com/20210117/demo.pdf
注意pdfjs和pdf使用同一个域名进行访问,否则会报跨域错误,如果不想用同一个域名,需要配置pdf访问允许跨域,或者使用数据流的形式进行响应