写在前面:

实现的功能就是点击预览按钮,弹出对话框在线预览pdf文件

实现此功能的前提是需要在Vue项目中安装组件vue-pdf,

在终端命令行输入运行如下语句:

npm install --save vue-json-excel vue-pdf

安装完组件后,首先在要使用的页面中引入pdf组件

<script>
import pdf from 'vue-pdf'
export default {components: {pdf},data () {return {pdfUrl: '',src: '',}}
}

因为我们是前后端分离的vue项目,pdf的在服务器的位置后台已经返给我了

在点击预览按钮时将该pdf的路径做参数带走:@click="previewFile(item.FILE_URL)"

<el-col :span="3" style="margin-top:20px" v-for="(item,index) in tableData" :key="index"><el-card :body-style="{ padding: '0px'}" style="margin-left:10px"><img :src="item.FILE_URL" class="image" style="height:200px" v-if="item.FILE_TYPE === 1"><img :src="pdfImage" class="image" style="height:180px;width: 80%;margin-left:8%;margin-top:20px" v-else-if="item.FILE_TYPE === 2"><img :src="wordImage" class="image" style="height:180px;width: 80%;margin-left:8%;margin-top:20px" v-else-if="item.FILE_TYPE === 3"><img :src="unknowImage" class="image" style="height:180px;width: 80%;margin-left:8%;margin-top:20px" v-else><div style="padding: 14px;"><div class="bottom clearfix"><el-button type="text" class="button" @click="openImage(item.FILE_URL)" v-if="item.FILE_TYPE === 1">查看大图</el-button><el-button type="text" class="button" @click="downLoad(item.FILE_URL)" v-else>下载</el-button><el-button type="text" class="button" @click="previewFile(item.FILE_URL)" v-if="item.FILE_TYPE === 2">预览</el-button><el-button type="text" class="button" style="float:right" @click="deleteImg(item.ID)">删除</el-button></div></div></el-card>
</el-col>

此时previewFile (file)中的file也就是@click="previewFile(item.FILE_URL)"中的item.FILE_URL,实际上也是pdf的路径,最后将路径处理好赋值给this.src,打开Dialog弹框预览pdf

previewFile (file) {this.pdfUrl = file// 有时PDF文件地址会出现跨域的情况,这里最好处理一下this.src = pdf.createLoadingTask(this.pdfUrl)this.pdfPreviewDialog = true},

然后在页面使用vue-pdf,只需要添加标签<pdf></pdf>,将pdf的路径this.src给:src属性

<el-dialog :visible.sync="pdfPreviewDialog" title="资质凭证"  width="50%" center><pdf :src="src" style="width:100%" ref="pdf"></pdf>
</el-dialog>

然后就没然后啦 ~

注:此功能只能是pdf文件存储服务器和项目运行的服务器一致,否则会报错哦

Vue中实现pdf文件预览功能相关推荐

  1. Vue新手:实现文件预览功能的前端

    预览文件的前端 省略点击按钮点击触发showdialogview()方法的代码 第一种方法 先在template中加入一个input框,绑定一个字符串类型的变量 写showdialogview()方法 ...

  2. 用vue-pdf包实现pdf文件预览,支持分页

    vue项目实现pdf文件预览功能 下载vue-pdf包 npm install --save vue-pdf template模板内容: //pdf组件 <pdf :src="pdfF ...

  3. Vue PDF文件预览打印vue-pdf

    Vue PDF文件预览vue-pdf 最近做项目,遇到预览PDF这个功能,在网上找了找,大多推荐的是pdf.js,不过在Vue中还是想偷懒直接npm组件,最后找到了一个还不错的Vue-pdf 组件,G ...

  4. Office文件转化PDF实现预览功能

    OpenOffice文件转PDF 实测有用 OpenOffice办公文件预览功能 OpenOffice操作 aspose-words来实现预览 预览操作 OpenOffice办公文件预览功能 Hell ...

  5. jsp 展示服务器pdf文件,pdf在线预览_jsp实现pdf在线预览功能

    摘要 腾兴网为您分享:jsp实现pdf在线预览功能,钻石星球,桌面时钟,学堂在线,新东方等软件知识,以及新游手柄游戏厅,qq6.2,硬盘坏道,录音盒,番茄花园rom,x架子,内蒙古科协,陕西交管121 ...

  6. mpvue PDF文件预览

    小程序中PDF文件预览问题 在小程序中可以ios端可以使用  <web-view :src="url"></web-view> 但是在Android端pdf ...

  7. pdf文件预览、打印

    前端 pdf 文件预览的方式有多种. html元素:<iframe>.<embed> <iframe :src="pdfUrl " style=&qu ...

  8. java pdf文件下载_Java后台返回PDF文件预览下载

    Java后台返回PDF文件预览下载 开始的代码的系统代码为: ResponseEntity onePdf = s3Wrapper.download(contractEntity.getContract ...

  9. 手机端pdf文件预览pdf.js使用方法详解

    虽然H5页面可以通过A直接访问html 但可惜的是 手机端H5页面这样做就直接变下载了 那么想要实现手机端的pdf文件预览就需要用到pdf.js了 首先 我们访问地址 http://mozilla.g ...

最新文章

  1. 使用jQuery开发messager消息框插件
  2. 【基础】CSS实现多重边框的5种方式
  3. Linux启动跟windows启动,Windows,Linux启动机制简介
  4. Java 内存模型 与 高效并发
  5. ubuntu05.04 linux2.6.10 内核安装
  6. 干货 | 携程异地多活-MySQL实时双向(多向)复制实践
  7. Spring boot 入门篇
  8. hough变换连接边缘matlab,边缘检测与Hough变换实验报告 Matlab - 图文
  9. [转载]Programming MS Office 2000 Web Components第二章第三节
  10. 百行征信出首招,发布授信 反欺诈 核验三款测试产品
  11. kuangbin数学训练1
  12. EDA程序设计--出租车计费器
  13. 有比鸿蒙还强的境界吗,《庄子》鸿蒙问道:看似愚昧,实则为大境界
  14. PHICOMM路由器无线扩展的设置方法(吐槽一下)
  15. Windows 10桌面空白处鼠标右键转圈
  16. Mybatis最拿得出手的功能之一 SpringBoot整合Mybatis-Plus 实战之动态SQL
  17. VSS2005配置错误:The Sourcesafe Web service cannot be accessed at the specified address
  18. 基于Python的聊天室
  19. 重庆华为服务器安装步骤
  20. java调用集群mahout_Mahout--用Maven构建Mahout项目(mahoutDemo)

热门文章

  1. 条码软件如何批量制作A级EAN 13条码
  2. html常见面试题及答案
  3. JavaWeb后台开发框架(毕业设计神器)
  4. CUDA安装失败问题解决(windows)
  5. 中老年新消费品商城小程序开发,让父母开心,让子女安心
  6. Linux系统:内存映射概念以及相关函数(mmap、munmap、msync)介绍
  7. html5 红包页面,HTML5+Lottie.js+犸良制作跳动的红包
  8. TDH集群数据拷贝及元数据迁移
  9. 【北交所周报】近九成个股下跌,凯大催化上市当天涨39%;北交所发行节奏放缓,上周仅瑞星股份一家企业过会;...
  10. 2019福建高中计算机会考操作,2019福建省普通高中学业水平考试科目赋分方法