微信小程序实现PDF预览功能——pdf.js(含源码解析)


前言

前一段时间遇到了一个需求,关于 pdf 文件的预览,客户要求如下:

  • 只能在微信小程序内预览,不能调起本地浏览器预览;
  • 需要让用户强制阅读 10s 后才算阅读完成,进而进行下一步操作;
  • 用户不能下载预览的 pdf 文件;

因为一些原因(此处省略一万字🐎),这个项目具有 H5 端和原生微信小程序端,并且他们有着相同的业务逻辑😊,所以最好的办法就是设计出一套方案适用两端,前期做了一些尝试,可以看这篇文章,最后决定使用 pdf.js 来实现业务要求。


一、pdf.js 是什么?

PDF.js 由 Mozilla 提供支持。目标是创建一个通用的、基于 Web 标准的平台,用于解析和呈现 PDF。

二、使用步骤

1.下载库文件

前往 pdf.js 的 官网 下载库文件,我们下载哪个版本都是可以的,后者适用于旧版浏览器,我这里下载的后者。

在这里插入图片描述

下载完成后,因为微信小程序打包的限制,我将库文件放到腾讯云服务器上,如果想测试可以联系我提供测试资源。
H5 可以放到本地,目录如下:

在这里插入图片描述

2.使用方式

通过web目录下 viewer.html 查看器 + pdf文件路径预览pdf文件

yourPath/web/viewer.html?file=pdfPath 
微信小程序端——使用 web-view 标签

代码示例:

//.wxml
<web-view src="{
   {pdfView+pdfUrl}}" ></web-view>

//.js
data: {
   
		// viewer.html 查看器的路径
        pdfView:"yourPath/web/viewer.html?file=",
        // 要预览的 pdf 文件的路径
        pdfUrl:"http://play.li-stack.top:88/pdf/sjisr-3-2-36-42.pdf"
    },

运行效果:
在这里插入图片描述

H5 端——使用 iframe 标签(使用vue框架)

代码示例:

<template>
    <div>
        <iframe :src="src" style="width: 100%;height: 100vh" >
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失忆症患者_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值