场景:前端需要根据后端返回的线上pdf的地址,实现pdf的预览功能。

情况一:后端返回的pdf地址,粘贴到浏览器的url框中,是可以在浏览器中直接进行预览的。

方法(1)可以直接使用window.open('获取到的pdf地址')重新打开一个浏览器页签,通过浏览器页签直接实现预览功能(预览页面的样式,根据浏览器的不同,会略有差异)

eg: 在Google-Chrome浏览器中的效果

方法(2)若不想重新打开浏览器页签,可以在当前页面内增加iframe标签,对要预览的pdf进行预览。iframe标签内展示的预览界面样式,与上面的方法(1)中相同,是跟随浏览器的。

<iframe:src="获取到的pdf预览地址"
>
</iframe>

情况二:后端返回的pdf地址,粘贴到浏览器的url框中,无法在浏览器中直接进行预览。(之前遇到的情况是该url在浏览器中输入后,浏览器没有显示页面,直接启动了下载)

注意:这种情况下,上述的两种方法都是无法预览的,前端的俊男靓女们务必提前确认好返回的url的情况哦!

方法(3)使用插件vue-pdf进行预览

步骤

1. 安装依赖

npm install --save vue-pdf

2. 在需要的页面,引入插件

import pdf from 'vue-pdf'

3. 使用

3.1 单页pdf可以直接使用

<pdf>:src="获取到的pdf地址"
</pdf>

3.2 多页pdf通过循环实现

html标签部分

​
<pdfv-for="item in pageTotal":src="pdfUrl":key="item":page="item"
>
</pdf>

在mounted函数中 需要调用下述方法 获取pdf的总页数

// 获取pdf总页数
getTotal() {// 多页pdf的src中不能直接使用后端获取的pdf地址 否则会按页数请求多次数据// 需要使用下述方法的返回值作为urlthis.pdfUrl = pdf.createLoadingTask('获取到的pdf地址')// 获取页码this.pdfUrl.promise.then(pdf => this.pageTotal = pdf.numPages).catch(error => {})
}

此时页面即可正常实现pdf预览

vue中前端实现pdf预览(含vue-pdf插件用法)相关推荐

  1. pdf预览在vue项目中的使用兼容ie浏览器

    最近做项目有需求需要pdf在线预览并支持下载,而且还要兼容ie浏览器,之前又是使用过vue-pdf插件在chrome上没有问题但是在ie上不兼容.最后使用了pdf.Js这个原生库,虽然网上有许多使用教 ...

  2. vue本地上传并预览php,vue.js 实现图片本地预览 裁剪 压缩 上传功能

    以下代码涉及 Vue 2.0 及 ES6 语法. 目标 纯 javascrpit 实现,兼容ie9及以上浏览器,在本地做好文件格式.长宽.大小的检测,减少浏览器交互. 现实是残酷的,为了兼容Ie9 还 ...

  3. vue-pdf vue中导入文件 并预览

    暂时 是 导入后 根据文件流 预览 之后上传后台哪url地址应该就是<pdf :src="url" 创建 参考 https://www.cnblogs.com/mizuki- ...

  4. vue中使用Vue-pdf在线预览

    下载 npm i vue-pdf 引入(在所需要预览的页面) <script>import axios from 'axios'import pdf from 'vue-pdf'impor ...

  5. VUE-PDF VUE的PDF预览组件

    VUE-PDF VUE的PDF预览组件 vue.js pdf viewer 安装 npm install --save vue-pdf 示例 <template><pdf src=& ...

  6. react pdf预览

    pdf预览很强大的插件是pdf.js,这是原生js实现的插件,能兼容大部分浏览器,对于它的使用方法,在传统的web项目中就是viewer.html?file="文件名称",但是对于 ...

  7. 基于vue-pdf的PDF预览,缩放、旋转、拖拽、下一页

    先说一下利用iframe打开pdf效果如下 代码如下这种感觉更简单,打印各方面都可以 <el-dialogv-if="showPdf":visible.sync=" ...

  8. vue项目实现前端预览word和pdf格式文件

    最近做vue项目遇到一个需求,就是前端实现上传word或pdf文件后,后端返回文件对应的文件流,前端需要在页面上展示出来.word预览简单一些,pdf预览我试过pdfjs,vue-pdf总是报各种奇奇 ...

  9. Vue前端JavaScript实现PDF预览与图片预览

    Vue前端JavaScript实现PDF预览与图片预览 说明 PDF.JS 代码实现 预览测试 embed与iframe标签 `<embed>` `<iframe>` 浏览器预 ...

最新文章

  1. 农林废弃物如何变废为宝?
  2. python编程需要什么软件-《》 学习python编程需要安装哪些软件?
  3. Linux redhat下安装swftools(转载后修改)
  4. python的一个小原理
  5. 将数据库设置为运行在限制模式下
  6. Tomcat8 连接池
  7. RDP协议详细解析(五)
  8. 设计一款编程语言有多难?Ruby 创始人揭秘
  9. LAPSUS$声称盗取源代码仓库,微软正在调查
  10. JSP→JavaWeb简介、Tomcat服务器安装启动测试目录、Tomcat手动创建项目、开发工具MyEclipse与Eclipse配置环境、MyEclipse创建Web程序目录、修改Tomcat端口
  11. win10更换系统启动时候的图片
  12. html简单个人网页制作网站设计——腾讯游戏官网(13页) HTML+CSS+JavaScript web网页设计与开发
  13. 苹果Macbook快捷键使用大全
  14. 河北大学计算机系院长,徐建民(河北大学网络空间安全与计算机学院教授)_百度百科...
  15. tsm ANS0326E问题处理
  16. php中理解print EOT分界符和echo EOT的用法区别
  17. Lintcode 1667.石头
  18. 如何用微信公众号快速注册小程序
  19. 【Vue作业]---Vue登录注册界面
  20. 使用golang编写Prometheus Exporter

热门文章

  1. 计算机逻辑功能测试及应用,逻辑门电路的逻辑功能及测试.doc
  2. Cision与Brandwatch达成收购协议,整合公关、社交媒体管理和数字消费者洞察
  3. 奖金600万美元的XPRIZE新冠病毒快速检测竞赛决出大奖获得者,以研制快速、大规模、低成本且简单易用的解决方案
  4. intell IDE初始用
  5. CSS进阶式-附加样式
  6. OpenVINO-yolov5推理代码
  7. BRDF Explorer
  8. Cytoscape Web 实现网络拓扑结构图
  9. Ubuntu 启动盘制作教程
  10. 【九九归一|算法强化】HOT 算法①