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笔记一 js以及json基础使用说明
May 22 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
Oct 16 Javascript
浅谈JavaScript中的对象及Promise对象的实现
Nov 15 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
Apr 07 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
Sep 05 Javascript
JavaScript实现邮箱地址自动匹配功能代码
Nov 28 Javascript
Node.js的特点详解
Feb 03 Javascript
ztree实现左边动态生成树右边为内容详情功能
Nov 03 Javascript
JS实现图片切换效果
Nov 17 Javascript
详解vue中移动端自适应方案
May 05 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
May 29 Javascript
vuex实现购物车的增加减少移除
Jun 28 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
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
php实现文章评论系统
2019/02/18 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
从零学Python之hello world
2014/05/21 Python
Python实现的检测网站挂马程序
2014/11/30 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
python如何查看微信消息撤回
2018/11/27 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
pandas apply多线程实现代码
2020/08/17 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
Champion官网:美国冠军运动服装
2017/01/25 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
高中生学习的自我评价
2013/12/14 职场文书
小学一年级学生评语
2014/04/22 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
高三英语教学计划
2015/01/23 职场文书
艺术节开幕词
2015/01/28 职场文书
同事欢送会致辞
2015/07/31 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL