程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入门

  • 后端手册

  • 前端手册

  • 组件文档

  • 数据库分析

  • 集成插件

    • 集成 Docker 实现一键部署
    • 升级 Spring Boot 到 3.x 版本
    • 集成 Ehcache 实现本地缓存切换
    • 集成 WebSocket 实现实时通信
    • 集成 Electron 实现桌面应用程序
    • 集成 Atomikos 实现分布式事务
    • 集成 MinIO 实现分布式文件存储
    • 集成 Easy-ES 实现分布式全文检索
    • 使用 `localStorage` 代替 `cookie`
    • 使用 Undertow 替代 Tomcat 容器
    • 集成 Actuator 实现优雅关闭应用
    • 集成 AJ-Captcha 实现滑块验证码
    • 集成 Sharding-JDBC 实现分库分表
    • 集成 JustAuth 实现第三方授权登录
    • 集成 `watermark-dom` 实现页面水印
      • 1. 添加 watermark-dom 依赖
      • 2. 在页面中引入和使用 watermark-dom
      • 3. 访问页面,检查水印效果
    • 集成 MyBatis-Plus 实现 MyBatis 增强
    • 集成 EasyExcel 实现 Excel 表格增强
    • 集成 Knife4j 实现 Swagger 文档增强
    • 集成 Redisson 实现 Redis 分布式锁
    • 集成 IP2Region 实现离线 IP 地址定位
    • 42集成 JSEncrypt 实现密码加密传输
    • 集成 HttpClient 实现 HTTP 接口增强
    • 集成 Druid 实现数据库密码加密功能
    • 集成 Browscap 实现用户代理解析
    • 集成 Dynamic-DataSource 实现多数据源增强
  • 若依框架
  • 集成插件
scholar
2024-08-31
目录

集成 watermark-dom 实现页面水印

# 集成 watermark-dom 实现页面水印

在某些场景下,为了防止用户通过截图或录屏泄露敏感信息,可以在页面中添加水印。下面将详细介绍如何集成 watermark-dom 库来实现网页水印的功能。

# 1. 添加 watermark-dom 依赖

首先,需要在项目的 package.json 文件中添加 watermark-dom 依赖:

{
  "dependencies": {
    "watermark-dom": "2.3.0"
  }
}
1
2
3
4
5

之后,运行以下命令安装依赖:

npm install
1

# 2. 在页面中引入和使用 watermark-dom

接下来,我们将水印功能集成到 AppMain.vue 文件中,以便在页面加载时自动显示水印。

首先,在 AppMain.vue 中引入 watermark-dom 模块:

import watermark from "watermark-dom";
1

然后,在 AppMain.vue 的 mounted 生命周期钩子中加载水印:

export default {
  name: "AppMain",
  mounted() {
    // 获取用户名,用作水印内容
    const username = this.$store.state.user.name;
    
    // 加载水印
    watermark.load({
      watermark_txt: `${username} - 保密水印`, // 水印内容
      watermark_x: 20, // 水印起始位置x轴坐标
      watermark_y: 20, // 水印起始位置Y轴坐标
      watermark_rows: 10, // 水印行数
      watermark_cols: 10, // 水印列数
      watermark_x_space: 100, // 水印x轴间隔
      watermark_y_space: 50, // 水印y轴间隔
      watermark_color: 'rgba(0, 0, 0, 0.15)', // 水印字体颜色
      watermark_fontsize: '18px', // 水印字体大小
      watermark_alpha: 0.5, // 水印透明度
      watermark_width: 120, // 水印宽度
      watermark_height: 80, // 水印高度
      watermark_angle: 15 // 水印倾斜度
    });
  }
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 3. 访问页面,检查水印效果

在配置完成后,重新运行项目并访问页面。此时,页面上应该能够显示带有用户名的水印。水印将覆盖整个页面,并且随着页面内容的滚动保持一致。

注意事项

  1. 水印内容:在上述示例中,水印内容设置为 ${username} - 保密水印,即显示用户名及其后的文字“保密水印”。可以根据实际需要修改此内容。

  2. 水印配置:可以通过 watermark.load 的配置参数来调整水印的位置、行列数、间距、颜色、字体大小、透明度等属性,以满足页面需求。

  3. Excel 导出添加水印:如果需要在导出的 Excel 文件中添加水印,可以参考类似的思路,但需要使用相应的 Excel 处理工具,例如 POI 或 Aspose.Cells。

编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
集成 JustAuth 实现第三方授权登录
集成 MyBatis-Plus 实现 MyBatis 增强

← 集成 JustAuth 实现第三方授权登录 集成 MyBatis-Plus 实现 MyBatis 增强→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式