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 相关文章推荐
解读IE和firefox下JScript和HREF的执行顺序
Jan 12 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
Feb 06 Javascript
JavaScript获取数组最小值和最大值的方法
Jun 09 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
Jul 28 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
Feb 15 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
强大Vue.js组件浅析
Sep 12 Javascript
Angular6新特性之Angular Material
Dec 28 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
Aug 04 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 foreach正序倒序输出示例代码
2014/07/01 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
跟老齐学Python之print详解
2014/09/28 Python
django反向解析和正向解析的方式
2018/06/05 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
数据库笔试题
2013/05/09 面试题
岗位职责的含义
2013/11/17 职场文书
硕士研究生自我鉴定范文
2013/12/27 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
初中教师个人工作总结
2015/02/10 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
python开发人人对战的五子棋小游戏
2022/05/02 Python
hive数据仓库新增字段方法
2022/06/25 数据库