微信公众号HTML5如何预览EXCEL、word、ppt、pdf等文件

906 阅读1分钟

word、xls、ppt、pdf在线预览实现方式

1.简单的前端处理方式:

或者JS

window.open(文档地址); //新建窗口打开链接预览

window.location.href = 文档地址; //本页面内跳转链接实现预览

这种方式在不同浏览器上表现不一样,部份手机浏览器直接不能直接不能打开或是表现为下载,基本不实用,如果预览PDF,可以使pdf.js这样的纯JS库但是实际场景用时要做各种格式判断浏览判断麻烦死了。

2.如果是微信小程序,可以使用微信接口:

downloadFile和openDocument


wx.downloadFile({

  // 示例 url,实际不存在

  url: 'http://test.com/testfile.pdf',

  success: function (res) {

    const filePath = res.tempFilePath

    wx.openDocument({

      filePath: filePath,

      success: function (res) {

        console.log('打开文档成功')

      }

    })

  }

})

如果明确只有微信使用可以考虑,只是如果有浏览直接使用或钉钉之类不行,而且如果后面更换到浏览器或WEBAPP又要更换也挺麻烦的。

3.office online

let url = "https://view.officeapps.live.com/op/view.aspx?src=" + 文档url;

window.open(url); //新建窗口打开链接预览

或者

window.location.href = url; //本页面内跳转链接实现预览

PDF好像要单独处理,用了一下感觉不太爽放弃了

4.pfile的文件预览

很简单一句话

window.open('http://www.pfile.com.cn/api/profile/onlinePreview?url='+encodeURIComponent(“文档地址”));

简单好用,强烈推荐