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

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

1. 下载
官网提供了一个 demo ,稍微改一下就可以用了。 pdf.js下载
解压之后的文件
在页面中打开pdf链接的地方修改成链接到 pdf/web/viewer.html 的。例如:

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

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

  • 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; };