码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • js禁用浏览器 pdf 打印、下载功能(pdf.js 禁用打印下载、功能)


    前端实现 pdf 预览方法

    (1)用iframe标签src="文件地址"就可以直接打开,还可以设置width,height等属性。具体参考iframe属性。

     <iframe src="http://localhost:8080/%E9%9F%A6%E6%88%90%E7%8E%89.pdf"></iframe> 

    (2)直接a标签src="文件地址"

    <a href="文件地址"></a>

    (3)使用微软的方法微软官方文档(有缺陷不建议使用)

    (4)使用插件

    vue 中 实现pdf预览

    上面的 1,2,3都可以使用,但1,2,3 使用的是 浏览器自带的 pdf预览功能,样式不统一,如果介意的话 就只能 使用插件了。

    4的话插件有 vue-pdf、pdf.js 等。

    react 中 实现pdf预览

    上面的 1,2,3都可以使用,但1,2,3 使用的是 浏览器自带的 pdf预览功能,样式不统一,如果介意的话 就只能 使用插件了。

    4的话插件有 react-pdf、pdf.js、react-file-viewer等。

    React中使用react-file-viewer,实现预览office文件(pdf,word,xlsx等文件)前端实现,在浏览器打开文件_崽崽的谷雨的博客-CSDN博客_react-file-viewer

    禁用 pdf打印功能 

    用插件自带的api

    pdf.js 禁用

    通过pdfjs实现在VUE-CLI中进行PDF预览,并禁用打印及下载功能_qq_24800489的博客-CSDN博客_iframe预览pdf文件流

    其它插件 大同小异 ,可以自行 查资料。

    用js 禁用

     其实这个也不算是禁用,只是 把 按钮 和图标 隐藏了。

    1.以 谷歌浏览器自带的为例子

    快速打开的方法就是 拖动pdf到浏览器 里就能看到。 

    谷歌浏览器 打开 pdf 截图

    ​

    思路: 就是 用js隐藏下载的 图标

        获取到 图标 给其 隐藏

        这一步看起来 简单 但是 我一开始 试了很多遍都不行,因为 涉及到shadow-root

      截图如下:

    shadow-root 截图

    审查元素 会发现 dom被 shadow-root 包裹,所以 获取元素 就不能用常规的 document方法,需要使用shadowRoot。

    1. let c = document.querySelector("#viewer").shadowRoot.querySelector("#toolbar").shadowRoot.querySelector("#print");
    2. c.remove();

    运行这个代码 会发现 打印的图标消失了,如果下载也要 消失 用同一个方法即可。 

    去除打印图标

     快速获取 想要元素的 js代码技巧:

       1.选中元素 然后 鼠标右击 

       2.选择 copy 里的 copy js path 即可

     Copy js path 复制 js 路径  快速生成 获取 该dom的 js代码 (很实用)

      效果如下:

      比如想要 下载 图标也消失 按照上面的 步骤 就可以获取到 。然后 就可以 加 remove或者 修改样式,修改内容都行。

    document.querySelector("#viewer").shadowRoot.querySelector("#toolbar").shadowRoot.querySelector("#downloads").shadowRoot.querySelector("#download");

    2. edge 也差不多 

     edge 都是 中文的操作步骤同上

    1.选中元素 然后 鼠标右击 

    2.选择 复制 里的 复制js路径 即可

    edge 截图

     去除效果 如下:

    总结:

    我 这个只是 隐藏了 ,你可以获取到元素后 接着 拓展 比如: 更换图标 ,修改样式 等等。

    谷歌浏览器 控制台使用技巧

  • 相关阅读:
    深度学习模型部署全流程-模型训练
    .Net6使用halcon21.05的窗口错误解决方法
    js中ECharts基础
    redis 订阅模式相关命令
    Kotlin快速运用第三阶段
    SpringBoot基础篇 (2)— REST讲解
    Java 零矩阵
    网络安全(黑客)——2024自学
    day14【代码随想录】有效字母的异位词、赎金信、两个数组的交集、两个数组的交集||
    《中国垒球》:跨界联赛·完美落幕
  • 原文地址:https://blog.csdn.net/weixin_44058725/article/details/125379378
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号