微信小程序中预览 PDF 文档

在iOS 下是可以直接打开pdf 文件url 进行预览的。如果你的小程序是公司主体,会多出一个业务域名的设置选项。

设置好域名后,再使用web-view 打开对应的文件就可以了。

<web-view src="{{url}}"></web-view>

要注意文件路径中不能含有中文,否则会无法正确打开。

在安卓下使用web-view 来预览pdf 文件这个方法就行不通了,安卓系统会直接下载pdf 文件,非常尴尬。

这个时候就要使用微信小程序提供的文件下载和打开功能了。

wx.downloadFile({
      url: id ,
      success: function (res) {
        console.log(res)
        var Path = res.tempFilePath              //返回的文件临时地址,用于后面打开本地预览所用
        wx.openDocument({
          filePath: Path,
          success: function (res) {
            console.log('打开成功');
          }
        })
      },
      fail: function (res) {
        console.log(res);
      }
    })

这样就成功打开文档,这个方法在iOS 中也是可以正常使用的。不过这时候可以看到已经跳出了小程序,而无法使用小程序提供的功能菜单了。

比较好的方法是在iOS 中使用web-view,在安卓中使用downloadFile,这个时候就需要一个判定系统的方法。

微信小程序提供了wx.getSystemInfo获取设备信息的接口,直接调用就可以了。

wx.getSystemInfo({
      success: function (res) {
        that.setData({
          systemInfo: res
        });
      }
    })

systemInfo.platform 就是系统名称,然后再分别调用不同的方法预览文档即可。

Bigfa

computer loser

Comments : 9

  1. 周二贰²⁰¹⁸的头像

    厉害了

  2. 大雄的头像

    来自小程序的评论

  3. 璐璐@起点学院的头像

    厉害了

  4. 分板机的头像

    下载个wps也可以在微信里面看文件

  5. 老酒街的头像

    直接用小程序自带的文件预览 :mrgreen:

  6. jacky的头像

    阿里

  7. chrysalis的头像

    请教一下 关于 wx.openDocument 我是一个按钮 作用是wx.downloadFile下载特定pdf文件然后用 wx.openDocument打开预览,不过遇到的问题时一开始会白屏连续试个8,9次 又忽然可以打开,成功打开一次以后,再下载预览别的pdf也没问题,感觉就是一个手机第一次尝试这个功能时就会白屏,有遇到过这个问题么?

  8. kk22的头像

    厉害

  9. kk22的头像

    :smile:

发表留言

人生在世,错别字在所难免,无需纠正。

:mrgreen::neutral::twisted::arrow::shock::smile::???::cool::evil::grin::idea::oops::razz::roll::wink::cry::eek::lol::mad::sad::!::?: Smilies powered by wp-alu

Post Comment