当前位置:首页 » 《我的小黑屋》 » 正文

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

5 人参与  2024年04月01日 18:50  分类 : 《我的小黑屋》  评论

点击全文阅读


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

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

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

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

242dae8571454c7eaaef6b403a08ee74.png

方法(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标签部分

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

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

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

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


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/89191.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 别后悠悠君莫问全书+后续+结局(姜望舒傅西洲)_别后悠悠君莫问全书+后续+结局列表_笔趣阁(别后悠悠君莫问全书+后续+结局)
  • 姜眠傅沉砚结局+番外姜眠傅沉砚结局+番外免费_(姜眠傅沉砚结局+番外)姜眠傅沉砚列表_笔趣阁(姜眠傅沉砚)
  • 孟卿卿谢昭远结局+番外(孟卿卿谢昭远)_(孟卿卿谢昭远结局+番外)孟卿卿谢昭远结局+番外列表_笔趣阁(孟卿卿谢昭远)
  • 被谎言掩埋的真情结局+番外免费(韩庭屿郑念佳)_(被谎言掩埋的真情结局+番外)在线
  • 季婉灵陆庭尧(八零任爱如江水流远结局+番外)全书在线季婉灵陆庭尧读_(八零任爱如江水流远结局+番外季婉灵陆庭尧)八零任爱如江水流远结局+番外列表_笔趣阁(季婉灵陆庭尧)
  • 「明日共朝暮,天长亦久别」精彩章节免费试读_「裴天泽宁安安安」小说精彩节选免费试读
  • (番外)+(全书)孟卿卿谢昭远(九幽不渡卿全章+后续+结局)全书在线_孟卿卿谢昭远免费列表_笔趣阁(九幽不渡卿全章+后续+结局)
  • 许我三千繁星愿全书+后续+结局(慕星眠楚砚风)列表_许我三千繁星愿全书+后续+结局(慕星眠楚砚风)许我三千繁星愿全书+后续+结局在线
  • [心欲动而风不止]小说免费试读_何锋冷笑明白精彩章节试读
  • 沈星眠傅景淮(高冷男友化身舔狗,我不要了全书+结局+番外)_沈星眠傅景淮列表_笔趣阁(高冷男友化身舔狗,我不要了全书+结局+番外)
  • 也曾偷藏欢喜全书+后续(乔喜商凛)_(乔喜商凛)也曾偷藏欢喜全书+后续列表_笔趣阁(乔喜商凛)
  • 「从此萧郎是路人」小说节选推荐_宁钰阿昭乞丐番外合集提前订‌

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1