vue中使用vue-pdf的方法详解


Posted in Javascript onSeptember 05, 2020

需求:简单说~~有两个pdf文件需在h5上展示,通过点击按钮切换不同文件的显示

注:

1.vue-pdf默认展示首页,我这里的需求是通过滑动展示所有页面,这里使用的v-for遍历。有多少页就加载了多少个pdf组件。

2.pdf文件存在跨域问题,这个需要后端同学支持。

3.demo上的pdf文件只有一页,测试多页展示,自己改用多页pdf文件即可

<template>
 <div class="pdf_wrap">
  <div class="pdf_list">
   <!-- src:pdf地址,page: 当前显示页 -->
   <pdf v-for="i in numPages" :key="i" :src="src" :page="i" style="width: 100%" > </pdf>
  </div>
  <Button type="info" @click="loadPdf(pdfUrl1)">
   文件1
  </Button>
   <Button type="info" native-type="submit" @click="loadPdf(pdfUrl2)">
   文件2
  </Button>
 </div>
</template>
 
<script>
import pdf from 'vue-pdf'
import { Button } from 'vant'
export default {
 components: {
  pdf, Button
 },
 data () {
  return {
   src: '',
   numPages: undefined,
   pdfUrl1: 'https://clinic-trial-attachments.oss-cn-beijing.aliyuncs.com/output/demo.pdf/1.pdf',
   pdfUrl2: 'https://clinic-trial-attachments.oss-cn-beijing.aliyuncs.com/output/123demo'
  }
 },
 mounted () {
  this.loadPdf(this.pdfUrl1)
 },
 methods: {
  loadPdf (url) {
   this.src = pdf.createLoadingTask(url)
   this.src.promise.then(pdf => {
    this.numPages = pdf.numPages // 这里拿到当前pdf总页数
   })
  }
 }
}
</script>
<style scoped>
 .pdf_wrap {
  background: #fff;
  height: 100vh
 }
 .pdf_list {
  height: 80vh;
  overflow: scroll;
 }
 button {
  margin-bottom: 20px;
 }
</style>

总结

到此这篇关于vue中使用vue-pdf的方法详解的文章就介绍到这了,更多相关vue使用vue-pdf内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JQuery读取XML文件数据并显示的实现代码
Dec 16 Javascript
jQuery 动画弹出窗体支持多种展现方式
Apr 29 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
Oct 23 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
Mar 17 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
html判断当前页面是否在iframe中的实例
Nov 30 Javascript
浅谈ElementUI中switch回调函数change的参数问题
Aug 24 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 Javascript
详解js中的几种常用设计模式
Jul 16 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
Sep 05 #Javascript
vue 将多个过滤器封装到一个文件中的代码详解
Sep 05 #Javascript
js实现可爱的气泡特效
Sep 05 #Javascript
js实现点击按钮随机生成背景颜色
Sep 05 #Javascript
javascript实现一款好看的秒表计时器
Sep 05 #Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 #Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 #Javascript
You might like
php删除数组元素示例分享
2014/02/17 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
详谈python http长连接客户端
2017/06/12 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
python 调整图片亮度的示例
2020/12/03 Python
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
人力资源本科毕业生求职信
2014/06/04 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
求职简历自我评价范文
2015/03/10 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
会议主持词开场白
2015/05/28 职场文书