【uniapp/vue/pdf.js】在 uniapp 中使用 pdf.js(可以实现在电脑和手机上预览 pdf 文件)

pdf.js 可以在 uniapp 中使用,可以实现在电脑和手机上预览 pdf 文件,

如果是用 iframe 无法实现在手机上预览,附件传的是比较低版本的 pdf.js 文件(2.2.228),其中跨域报错已处理,因为我试过高版本的(如 4.x)可能会引起手机的兼容性问题,导致在有些型号的手机无法正常显示,低版本的可以正常显示,只是样式有些不同。

兼容性问题可以看另一篇文章:【vue/uniapp】pdf.js 在一些型号的手机上不显示

html 复制代码
<web-view :src="url"></web-view>

需要在 data 中声明的变量,路径基本上是固定的,建议把文件放在 static 目录下:

javascript 复制代码
url: '', // PDF路径
viewerUrl: '/static/pdf/web/viewer.html', // 用来渲染PDF的html

这里的 pdfLink 是在线链接的地址,根据实际情况进行替换

javascript 复制代码
this.url = this.viewerUrl + '?file=' + encodeURIComponent(this.pdfLink);
相关推荐
爱吃奶酪的松鼠丶4 分钟前
React长列表,性能优化。关于循环遍历的时候,key是用对象数据中的ID还是用索引
javascript·react.js·性能优化
xkxnq28 分钟前
第二阶段:Vue 组件化开发(第 17天)
javascript·vue.js·ecmascript
豆苗学前端34 分钟前
你所不知道的前端知识,html篇(更新中)
前端·javascript·面试
一 乐35 分钟前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
sophie旭41 分钟前
内存泄露排查之我的微感受
前端·javascript·性能优化
Hilaku2 小时前
我用 Gemini 3 Pro 手搓了一个并发邮件群发神器(附源码)
前端·javascript·github
全栈前端老曹2 小时前
【包管理】npm init 项目名后底层发生了什么的完整逻辑
前端·javascript·npm·node.js·json·包管理·底层原理
HHHHHY2 小时前
mathjs简单实现一个数学计算公式及校验组件
前端·javascript·vue.js
boooooooom2 小时前
Vue3 provide/inject 跨层级通信:最佳实践与避坑指南
前端·vue.js