vue 使用 vue-pdf 实现pdf在线预览

1、安装

npm install --save vue-pdf

2、引用

import pdf from 'vue-pdf'
export default {components: { pdf },data() {return {pdfUrl: "pdf的路径" ,// 本地获取或者在线请求获取};},
};

3、页面使用

<div class="content"><pdfref="pdf":src="pdfUrl" ></pdf></div>

4、发现问题,只能显示一页,显示所有页面

<div class="content"><pdfref="pdf"v-for="item in numPages":key="item":page="item":src="pdfSrc" ></pdf>
</div>import pdf from 'vue-pdf'
import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js'
export default {components: { pdf },data() {return {numPages: "",  // pdf 文件总页数pdfSrc: "",pdfUrl: "", // pdf 文件的路径,可以是本地路径,也可以是在线路径};},mounted: {this.getTitlePdfurl()},methods: {getTitlePdfurl(){this.pdfSrc = pdf.createLoadingTask({url: this.pdfUrl},CMapReaderFactory);//解决中文乱码问题this.pdfSrc.promise.then(pdf => {this.numPages = pdf.numPages}).catch(err => {console.error('pdf 加载失败', err)})},  }
};

5、想一页一页的翻加载

<div class="content"><pdfref="pdf":page="numPages":src="pdfUrl":rotate="pageRotate" @progress="loadedRatio = $event"@page-loaded="pageLoaded($event)" @num-pages="pageTotalNum=$event" @error="pdfError($event)" @link-clicked="page = $event" ></pdf><div class="options-btn"><el-button  @click="prePage" > 上一页</el-button><el-button  @click="nextPage" > 下一页</el-button><el-button  @click="clockwise" > 顺时针</el-button><el-button  @click="antiClockwise" > 逆时针</el-button></div>
</div>
import pdf from 'vue-pdf'
export default {components: { pdf },data() {return {numPages: 1, // 当前页pdfUrl: "http://....xx.pdf", //pageRotate: 0, // 旋转的角度loadedRatio: 0, // 加载进度curnumPages: 0, // 加载时的回调当前页pageTotalNum: 1, // 总的页数};},methods: {prePage() { // 上一页var page = this.numPagespage = page > 1 ? page - 1 : this.pageTotalNumthis.numPages = page},nextPage() { //下一页let page = this.numPagespage = page < this.pageTotalNum ? page + 1 : 1this.numPages = page},  clockwise() { // 页面顺时针翻转90度。this.pageRotate += 90},antiClockwise() {   // 页面逆时针翻转90度。this.pageRotate -= 90},pageLoaded(e) { // 加载时的回调this.curnumPages = e},pdfError(error) { // 错误的时候回调console.error(error)},}
};

写在最后:
以上就是一般使用vue-pdf的一些使用写法,前端小弟正在努力记录ing~

vue 使用 vue-pdf 实现pdf在线预览相关推荐

  1. 前端vue实现pdf文件的在线预览

    3.前端vue实现pdf文件的在线预览 我是通过 <iframe> 标签就可以满足我工作的 pdf预览需求 如果<iframe> 无法满足需求 , 可以使用pdf.js这个插件 ...

  2. pdf,word,ppt在线预览

    pdf,word,ppt在线预览 先展示下效果 pdf跟ppt的预览效果: word的预览效果 实现过程-只需一个iframe标签即可 详细介绍请看这里 <iframe src="ht ...

  3. 使用libreoffice将office文档(word、ppt、excel)转pdf,实现在线预览

    项目需要实现局域网预览office文档的功能,之前做的在线项目,都是将文档上传到cdn,利用cdn自带的转码功能,把文档转换为pdf,然后再用pdf.js实现在线预览. 因为是局域网,没有办法上传到c ...

  4. 【aspose】 word/excel转pdf,实现在线预览文件功能

    项目场景: 需求描述:上传附件后,可实现在线预览,这里就会存在一个问题,很多附件的类型是没法在线预览的,点击就会下载.除pdf/jpg/jpeg等,于是技术方案定,将word/excel等类型的文件转 ...

  5. 前端实现docx、pdf格式文件在线预览

    介绍 在业务中,如果遇到文档管理类的功能,会出现需要在线预览的业务需求,本文主要是通过第三方库来实现文档预览功能,并将其封装成preview组件 docx docx的实现需要使用docx-previe ...

  6. office转pdf实现office在线预览(aspose)

    office转pdf实现office在线预览(aspose) 1. jar包地址 2. 将jar包安装到本地 3. pom文件添加依赖 4. license.xml ① license.xml存放路径 ...

  7. 文档在线预览(四)使用js前端实现word、excel、pdf、ppt 在线预览

    文章目录 实现方案 一.docx文件实现前端预览 1.docx-preview 2.Mammoth 二.PDF文件实现前端预览 1.pdf.js 2.pdfobject.js 3.vue-pdf 4. ...

  8. 利用aspose实现ppt,doc,docx,pptx,xlsx,xls,txt,图片类型转pdf以及实现在线预览(可用于window和linux上,无水印)

    声明:对于本文章上的这个aspose相关的jar,切勿用于商业用途,后果我概不负责 1,先准备jar 链接:jar连接 提取码:bccn 下载后选中自己合适的 我使用的jar,而我的环境是jdk1.8 ...

  9. c# asp.net Pdf 转换图片 在线预览 发布到iis中问题 最终解决篇—_—!

    关于:excel和word 预览 请看我的博文: excel和word 在线预览  详细配置及代码 使用Adobe 组件 在本机vs中调试成功 发布到iis中  在  代码中涉及到  剪贴板的地方  ...

  10. springboot整合pdf.js实现在线预览pdf文件

    今天在项目中实现pdf在线预览的功能的如图, 通过百度,查询合适的方法,最为简单的的是通过pdf.js的插件在前台展示.本以为是挺容易实现的,但都有莫名其妙的错误. 第一步:下载源码https://g ...

最新文章

  1. python序列类型-Python数值类型和序列类型
  2. UVa11039 Building designing(贪心算法)
  3. 网站安全检测 Web 安全测试工具
  4. 高性能服务器编程 Twisted编程基础
  5. css flex布局
  6. 关于一些信息学数论问题例题的讨论
  7. DUET DISPLAY分屏软件IOS账号共享
  8. 谈谈MATLAB大数据处理
  9. 数据分析实战(二):流浪地球8W多条评论分析
  10. UE4基础:自定义单例类(Singleton Class)
  11. html模拟终端,DomTerm:一款为Linux打造的终端模拟器
  12. thinksystem sr550 安装ubuntu14.04 无法识别网卡驱动(连不了网)
  13. JavaWeb登陆成功后跳转到上一个页面
  14. 网易有道词典bug记录
  15. 如何正确使用 钳位二极管
  16. 杰理之DAC声道平衡度测试【篇】
  17. 基于深度学习的探地雷达图像异常智能判译技术和软件
  18. 向微软学研发管理:NT研发管理案例分析
  19. mysql- 数据库的6种日志:错误日志、通用日志、慢日志、二进制日志、redo log、undo log
  20. 荧光标记转铁蛋白-(FITC, cy3, cy5, cy7, 香豆素, 罗丹明)

热门文章

  1. 字符识别系统仿真–Matlab GUI实现
  2. Python入门书籍推荐——《笨办法学Python》
  3. 记录微信开发生成测试签名--signature,并使用微信jssdk屏蔽分享
  4. 记一次在win10上的ASF挂卡经历
  5. 虚拟视点图像的生成001
  6. MATLAB中插值拟合曲线
  7. 基于荔枝派Nano学习Buildroot的构建过程
  8. Jina AI 两周年 | 步履不停,尽情施展
  9. svg中text标签换行显示,并实现拖拽移动text标签
  10. pythonscrapy爬虫ip代理池_在Scrapy中使用IP池或用户代理(python3)