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

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

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

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

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

查看

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


这个时候可以看到,打印和下载的按钮都是有的,还有一些其他的功能按钮,接下来就是禁用这些功能

  • 4.禁止下载打印
    在下载的web/viewer.html 中找到下载打印的button

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

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


这样下载和打印的功能按钮就失效了

  • 5.注意
    虽然隐掉了页面上的下载打印的按钮,但是右键依然可以另存为和打印,所以可以在web/viewer.html加一个禁止右键。在viewer.html里加入下边这段代码。

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

你可能感兴趣的:(web打开在线的pdf文件,禁用打印和下载功能)