文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue使用pdf.js预览pdf文件的方法是什么

2023-06-22 04:03

关注

这篇文章主要讲解了“vue使用pdf.js预览pdf文件的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue使用pdf.js预览pdf文件的方法是什么”吧!

我们在页面进行pdf预览的时候,由于有些文件不能够进行打印和下载,这时候我们使用window自带的pdf就很难满足客户的需求,因此需要另外的办法来支持我们进行特殊条件的pdf文件预览,这里我采用引入pdf.js文件的形式来达到目的。

下载pdf.js  

    引入pdf.js文件

    地址如下:http://mozilla.github.io/pdf.js/getting_started/

    vue使用pdf.js预览pdf文件的方法是什么

第二步,vue引入

  我这里是把下载下来的文件放在了根目录的piblic下

vue使用pdf.js预览pdf文件的方法是什么

第三步,使用

  主要是地址"/build/generic/web/viewer.html?file="+href,href为请求后端返回的文件路径或者后端返回文件流前段解析后生成的文件路径,前面拼接上/build/generic/web/viewer.html?file=,地址为自己引入pdf.js文件的路径,也可以直接这样写/build/generic/web/viewer.html,他会直接去找。下面我使用的是前段解析文件流生成地址预览的。

  预览方法window.open("/build/generic/web/viewer.html?file="+href);

axios({                method: 'get',                url:url,                headers: {                    "token":auth,                },                responseType: 'blob',            }).then(response => {                type_ = type_.toLowerCase();                if (type_ == "docx") {                    that._type_ = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"                } else if (type_ == "doc") {                    that._type_ = "application/msword"                } else if (type_ == "gif") {                    that._type_ = "image/gif"                } else if (type_ == "jpeg" || type_ == "jpg") {                    that._type_ = "image/jpeg"                } else if (type_ == "png") {                    that._type_ = "image/png"                } else if (type_ == "pdf") {                    that._type_ = "application/pdf"                } else if (type_ == "txt") {                    that._type_ = "text/plain;charset=utf-8'"                } else if (type_ == "xls") {                    that._type_ = "application/vnd.ms-excel"                 } else if (type_ == "xlsx") {                    that._type_ = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"                }else if (type_ == "zip") {                    that._type_ = "application/zip"                } else if (type_ == "ppt") {                    that._type_ = "application/vnd.ms-powerpoint"                } else if (type_ == "pptx") {                    that._type_ = "application/vnd.openxmlformats-officedocument.presentationml.presentation"                }               if(type_ == "pdf"){                    var blob = new Blob([response.data], { type: that._type_ })                    var href = window.URL.createObjectURL(blob); //创建下载的链接                    window.open("/build/generic/web/viewer.html?file="+href);                }            })

最后

  如果你想要的禁掉pdf文件的下载、打印等功能,最简单的方法是,找的自己导入文件里的viewer.html,路径为build下的generic文件夹下的web里的viewer.html,如下:

  vue使用pdf.js预览pdf文件的方法是什么

  在这个html里找到对应下载的dom直接display:none就可以,切记不可以注掉,注掉会报错。如下,红色框中,一个是下载一个是打印,直接隐藏就可以。

vue使用pdf.js预览pdf文件的方法是什么

如果有人问这样也不安全,那可以和客户商量不在页面展示,因为只要页面可以看到的东西,截屏也可以截下来,注定是不安全的。

感谢各位的阅读,以上就是“vue使用pdf.js预览pdf文件的方法是什么”的内容了,经过本文的学习后,相信大家对vue使用pdf.js预览pdf文件的方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯