之前在网站上打开pdf文件,都是用浏览器查看pdf时自带的功能,可以下载打印,最近要求打开pdf后仅供用户预览,禁止下载打印。网上查了一下,发现有很多前辈都遇到过,解决方法是用pdf.js。
1.下载
官网提供了一个demo,稍微改一下就可以用了,真的超棒。pdf.js下载
2.修改
将下载的插件包拷贝到自己的项目中,我是放在了WebRoot下。打开web下的viewer.js将默认的路径置为“”
3.利用
在页面中打开pdf链接的地方修改成链接到pdf/web/viewer.html的。例如:我这边用的是a标签。

<a id="attach" target="_blank" title="title" href="/pdfjs/web/viewer.html?file=pdf路径">title</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>

6.结束
这样就可以啦,开心

浏览器打开pdf,禁止下载打印相关推荐

  1. 前端js html转换成pdf可下载打印;前端js可批量生成条形码;前端js可批量生成二维码,生成letter标签

    注意:本文调试的是letter纸尺寸 前端js html转换成pdf可下载打印  html2canvas  + jspdf 前端js生成条形码 Options · lindell/JsBarcode ...

  2. C# 调用浏览器打开pdf || 设置焦点

    1. 调用浏览器打开pdf: 1) 第一种:使用固定的浏览器打开pdf System.Diagnostics.Process.Start("msedge.exe", @" ...

  3. vue-cli使用pdf.js插件浏览pdf文件,禁止下载打印复制粘贴。

    很多项目中都会有预览pdf文件,普通的可以直接使用a标签来实现该功能,但是此预览是浏览器自带的,有时候项目需求中会有禁止用户禁止下载和打印功能,浏览器自带的是无法满足的. 小编在网上找到pdf.js插 ...

  4. 使用pdf.js将PDF嵌入HTML网页中,并禁止下载打印

    有的项目需要显示PDF类的文档, 大多需要在项目中禁止将PDF打印, 下载 我最初采用embed标签显示 PDF, iframe,object标签都可以显示 但是这类标签的打印和下载按钮 不可以禁止, ...

  5. PDF文件上载图标,与启用浏览器浏览允许后依然无法在浏览器打开PDF文件的解决方案...

    1. 在网站上显示PDF文件的图标,具体步骤如下:     1) 准备好一张16 x 16 的GIF图片,作为PDF的图标.     2) 把这个图标复制到 "C:\Program File ...

  6. 简单两步解决Microsfot Edge浏览器打开PDF卡住的问题 - 【大鼓的电脑百科】

    Hi,我是大鼓,欢迎来到[大鼓的电脑百科],这是我们的第一篇文章,希望这篇文章可以帮到你! 前言 在日常使用中,有时候会遇到使用Microsoft Edge打开PDF时,Microsoft Edge会 ...

  7. Android 调用第三方浏览器打开网址或下载文件

    /*** 调用第三方浏览器打开* @param context* @param url 要浏览的资源地址*/public static void openBrowser(Context context ...

  8. 微信中点击链接或者扫描二维码直接跳转外部浏览器打开指定网页下载

    大家在使用微信推广的时候是不是经常都会遇到推广链接被拦截导致无法下载app的情况,此时用户在微信中打开会提示"已停止访问该网页".这对于使用微信推广的商家来说非常不友好,而且造成的 ...

  9. 微信如何实现自动跳转到用其他浏览器打开指定页面下载APK的方案

    微信在朋友圈中屏蔽了APP store的链接,以及所有.apk的链接, 这意味着app下载在微信浏览器中全面被屏蔽.如何突破这层屏蔽, 业界的朋友也是想尽了一切办法,恩,其实我这里还是有一些办法的. ...

最新文章

  1. AI+零售:人工智能撬动零售变革
  2. 【项目管理】敏捷开发项目管理流程
  3. 详解 WebRTC 高音质低延时的背后 — AGC
  4. python画图小猪佩奇_吊炸天!Python 20秒画出小猪佩奇
  5. 深度理解 Virtual DOM
  6. linux下gdb单步调试
  7. mysql -- 死锁
  8. (软件工程复习核心重点)第八章面向对象方法学-第三节:面向对象建模之对象模型
  9. Orace用户创建及权限分配
  10. [USACO08NOV]奶牛混合起来Mixed Up Cows
  11. 华人运通高合HiPhiX维修手册电路图技术培训用户手册资料
  12. Windows聚焦图片不更新解决方法
  13. 我的世界java版1.7.10打不开怎么办_我的世界中国版打不开怎么办 怎么解决
  14. 计算机无法连接到wifi但手机可以使用,电脑连不上wifi而手机能连怎么办
  15. ubantu apt命令失败
  16. Ubuntu使用自带的Liboffice Draw去除PDF水印
  17. 2021年Java者未来的出路在哪里
  18. K3S - 轻量级Kubernetes集群
  19. 耳机插在电脑上怎么录音,在线录制音频的软件有什么?
  20. 协众信息技术平面设计的8种类型

热门文章

  1. k8s之external-etcd集群管理
  2. 【Excel VBA】用datediff函数计算两个日期的间隔,实例代码亲测好用
  3. Happy happy Mother's Day!!!
  4. FileProvider无法获取外置SD卡问题解决方案 | Failed to find configured root that contains
  5. Swift - 一个纯代码实现的登录界面(带猫头鹰动画效果)
  6. java微服务架构师,java架构师成长路线-微服务架构的介绍
  7. PageRank算法第一篇
  8. android开发技术可行性,Flutter技术调研及可行性结论
  9. 学习Python开发数据恢复工具(1)
  10. html5如何写出圆背景,利用HTML5实现Canvas虚幻圆点背景特效