美文网首页web常用技能
web打开在线的pdf文件,禁用打印和下载功能

web打开在线的pdf文件,禁用打印和下载功能

作者: 忘了呼吸的那只猫 | 来源:发表于2021-04-08 15:01 被阅读0次

网站上打开pdf文件,都是用浏览器查看pdf时自带的功能,可以下载打印,最近有一个需求,要求打开pdf后仅供用户预览,禁止下载打印。网上查了一下,发现有很多前辈都遇到过,解决方法是用pdf.js

  • 1.下载
    官网提供了一个demo,稍微改一下就可以用了。pdf.js下载
    解压之后的文件

  • 2.修改
    将下载的插件包拷贝到自己的项目中,打开web文件夹下的viewer.js将默认的路径置对应的value的值改为“ ”

  • 3.利用
    在页面中打开pdf链接的地方修改成链接到pdf/web/viewer.html的。例如:

<a id="attach" target="_blank" title="title" href="/pdfjs/web/viewer.html?file=pdf路径">查看</a>

这样点击 查看按钮就可以通过自定义的页面进行访问对应路径的pdf文件了


这个时候可以看到,打印和下载的按钮都是有的,还有一些其他的功能按钮,接下来就是禁用这些功能
  • 4.禁止下载打印
    在下载的web/viewer.html 中找到下载打印的button

把要隐藏的按钮加上style="display:none"就可以了(如果把整个按钮注释的话会报错哦)。效果图是这种=>

安全起见可以把web/viewer.js中的这两行代码也注释掉。


这样下载和打印的功能按钮就失效了
  • 5.注意
    虽然隐掉了页面上的下载打印的按钮,但是右键依然可以另存为和打印,所以可以在web/viewer.html加一个禁止右键。在viewer.html里加入下边这段代码。
<script type="text/javascript">
    // 禁止右键菜单
    document.oncontextmenu = function(){ return false; };
    // 禁止文字选择
    document.onselectstart = function(){ return false; };
    // 禁止复制
    document.oncopy = function(){ return false; };
    // 禁止剪切
    document.oncut = function(){ return false; };
    // 禁止粘贴
    document.onpaste = function(){ return false; };
</script>

这样右键的功能也被禁用了,但是呢,这样只是禁用平时最常用的方式,实际上使用快捷键也是可以打印和下载的,这里就不做赘述,当然如果是为了数据安全,可以在后台为pdf文件加上水印,或者使用各种加密手段。

相关文章

网友评论

    本文标题:web打开在线的pdf文件,禁用打印和下载功能

    本文链接:https://www.haomeiwen.com/subject/nuqvkltx.html