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 相关文章推荐
用函数式编程技术编写优美的 JavaScript
Nov 25 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
Dec 02 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
May 08 Javascript
script标签属性用type还是language
Jan 21 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
Feb 21 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
vue使用vue-i18n实现国际化的实现代码
Apr 08 Javascript
详解如何为你的angular app构建一个第三方库
Dec 07 Javascript
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
Dec 20 Javascript
浅谈js闭包理解
Mar 28 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
Jul 24 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 引用(&amp;)详解
2009/11/20 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
简单的Python的curses库使用教程
2015/04/11 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
wxPython色环电阻计算器
2019/11/18 Python
Python实现手绘图效果实例分享
2020/07/22 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
学校节能减排方案
2014/06/13 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
汽车转让协议书
2015/01/29 职场文书
村主任当选感言
2015/08/01 职场文书
JavaScript实例 ODO List分析
2022/01/22 Javascript
SQL SERVER触发器详解
2022/02/24 SQL Server
MySQL读取JSON转换的方式
2022/03/18 MySQL
python标准库ElementTree处理xml
2022/05/20 Python
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers