首页 > 编程语言 >微信小程序预览或保存pdf

微信小程序预览或保存pdf

时间:2024-02-20 17:56:04浏览次数:37  
标签:文件 预览 filePath 微信 openDocument pdf wx

在完成微信预览或保存pdf功能需要用到两个重要的api - wx.downloadFilewx.openDocument


wx.openDocument 下载文件资源到本地,返回文件的本地临时路径 (本地路径)

使用这个api要在微信公众后平台配置合法域名白名单,否则会报下面这个错误

只是测试功能的话,可以在 本地设置 中勾选 不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书,如果是手机预览的话要点击右上角打开 开发调试



wx.openDocument 新开页面打开文档;showMenu-点击右上角是否展示菜单

只能打开这些格式的文件: doc、docx、xls、xlsx、ppt、pptx、pdf

wx.openDocument

  showPdf() {
    let url = 'http://www.pdf995.com/samples/pdf.pdf' // 用来测试的地址
    let fileName = 'pdf文件' // 这里是预览文件时文件的标题,不设置的话会是一串乱码
    let fileType = 'pdf'
    wx.showLoading({
      title: '加载中',
    })
    wx.downloadFile({
      url: url,
      filePath: wx.env.USER_DATA_PATH + '/' + fileName,
      success(res) {
        if (res.statusCode === 200) {
          let filePath = res.filePath
          wx.openDocument({ // 预览文件
            filePath: filePath,
            fileType: fileType,
            showMenu: true,
            success() {},
            fail(error) {
              console.log(error);
            }
          })
        } else {
          wx.showToast({
            title: res.errMsg,
            icon: 'error'
          })
        }
      },
      fail() {
        wx.showToast({
          title: '文件预览失败',
          icon: 'error'
        })
      },
      complete() {
        wx.hideLoading();
      }
    })
  }


注意事项

  • wx.downloadFile 和 wx.openDocument 的顺序不能乱,先 下载打开
  • fileName 名字里不能有空格,否则文件会打开失败,显示无法打开此文件



打开pdf:


保存pdf:

标签:文件,预览,filePath,微信,openDocument,pdf,wx
From: https://www.cnblogs.com/XYH-Learning/p/17485978.html

相关文章

  • uniapp编译成微信小程序报错-Component is not found in path "components/canvaspage
     问题:我需要将components/canvaspagebg/index引入进pages/index/index   报错了pages/index/index页面引入: uni-app程序编译成微信小程序后,组件无法显示,控制台报错,错误信息为: 我查看了路径,是对的看网上的解决办法就是 我取消勾选后刷新页面就可以了,此时我在选中......
  • JS-SDK 配置,实现微信分享功能
    官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html在使用微信分享功能之前,需要进行如下配置,参考官方文档1.绑定域名此处看官方文档2.引入JS文件此处看官方文档3.通过config接口注入权限验证配置这里进行步骤分解3.1调用后端签名接口......
  • 第一行代码 Android(第3版)PDF下载
    《第一行代码Android第3版》被Android开发者誉为“Android学习第一书”。全书系统全面、循序渐进地介绍了Android软件开发的必备知识、经验和技巧。《第一行代码Android第3版》基于Android10.0对第2版进行了全面更新,不仅将所有知识点都在Android10.0系统上进行了重新适配,同......
  • 【专题】2022数字化转型指数年度报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=33471原文出处:拓端数据部落公众号数字化转型指数报告2022合集根据“基础设施-平台-应用”三层指标体系,对全国300余个城市、10余个行业的数字化发展规模进行了评估。该报告提供了覆盖全国范围的季度数字化转型指数,为各行各业推进数字化转型提供了有益......
  • 聊聊微信小程序的流式(stream)响应请求
    场景:类似ChatGPT的逐字显示效果。流程:服务端我用Python的flask框架(向外提供API接口)实现,服务部署在replit上,Python调用azure的chatgpt服务(需要申请),并以流式的形式返回,小程序再调用这个流式接口实现。我会提供最小能运行的完整代码示例。我本地的Python版本:3.10.11、Flask版本:2.......
  • 【专题】2030年中国汽车行业趋势展望报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35173原文出处:拓端数据部落公众号汽车行业正站在发展的关键节点。面对多样的消费群体、创新的商业模式以及颠覆性技术对产业链、价值链和生态圈的深刻变革,行业在追求极致用户体验的同时,还面临着巨大的成本优化压力。这些因素将共同塑造中国汽车行......
  • uniapp的H5端微信与支付宝支付(包括PC端与移动端)
    PC端:大致流程为1、请求创建订单接口传递正确参数(例如openid、金额、开始结束时间等),此接口会返回一个图片,或网络图片,或base64图片,这个图片是一张二维码;2、前端拿到这个二维码渲染到屏幕上并开始启动定时器,每过一秒请求一次查询支付结果接口,查询是否支付成功;3、支付宝支付可能会......
  • PDF.js插件使用
    使用范围:在支持js的服务器上运行,适合电脑端(手机端没尝试过),使用方便使用方法:下载:https://mozilla.github.io/pdf.js/getting_started/ 解压后如下,将这些文件放到public里面或在public里建立一个自定义名称,如pdfjs的文件夹再放,我这边是直接放入 预览使用:http://localho......
  • 如何使用ComPDFKit Web SDK添加在线编辑PDF文档功能
    文档编辑功能提供了一系列的操作页面的能力,使用户能够控制文档结构,并调整文档的布局和格式,确保文档内容以合理有序的方式精准呈现。ComPDFKit文档编辑的优势插入或删除页面: 向文档插入或删除页面,以满足特定的排版要求。文档结构调整: 调整页面排列顺序或旋转方向,以满足特定......
  • 微信自定义关键词,自动回复,微信公众号文章采集,开发已测试,欢迎大家来测试使用!
    本文主要是通过获取本地的句柄然后用来截取微信的消息,所以可以有效做到 零封号 零丢包 零失误  !!!经测试,可以自定义关键词和回复语(一行一个)可无限添加关键词和对应的回复语!回复时间基本在1秒以内,可以做到检测到关键词存在时即时回复的功能,可以获取到微信公众号文章等信......