vue界面增加自定义水印 js

vue整个界面增加自定义水印

需求:领导想要增加自定义水印
好不容易调完,还是想记录一下,在.vue界面编写

export default {mounted() {this.$nextTick(() => {this.addWatermark()})},methods: {// 关键:添加水印// 动态添加水印addWatermark() {// 这是登录的时候保存在硬盘里的数据const bidataLoginUserinfo = JSON.parse(localStorage.getItem('bidata__Login_Userinfo'))return new Promise((resolve) => {const watermark = document.createElement('div')watermark.style.cssText = `position: absolute;top: 0;left: 0;width: 100%;height: 100%;pointer-events: none;font-size: 24px,z-index: 9999;background-repeat: repeat; background-size: 50% auto;   /* 每行两个,每两行重复一次 *//* 关键调整:通过 background-size 控制间距 */`// 增大 SVG 尺寸并添加 viewBoxconst svgMark = `<svg xmlns="http://www.w3.org/2000/svg" width="800" height="400"viewBox="0 0 400 400"><text x="50%" y="50%" font-size="24px" fill="rgb(205 191 191 / 0.2)" transform="rotate(-45, 200, 200)"text-anchor="middle"dominant-baseline="middle"font-family="Arial">${bidataLoginUserinfo.value.realname} ${new Date().toLocaleDateString()}</text></svg>`watermark.style.backgroundImage = `url("data:image/svg+xml;utf8,${encodeURIComponent(svgMark)}")`const contentEl = this.$refs.html2Pdf.$el.querySelector('.pdf-content')if (contentEl) {contentEl.style.position = 'relative'contentEl.appendChild(watermark)this.watermarkElement = watermark}resolve()})},// 这是去掉水印的代码removeWatermark() {if (this.watermarkElement) {this.watermarkElement.remove()this.watermarkElement = null}},}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912188.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go开发工程师-Golang基础知识篇

开篇 我们尝试从2个方面来进行介绍&#xff1a; 1. 社招实际面试问题 2. 问题涉及的基础点梳理 社招面试题 米哈游 1. Go 里面使用 Map 时应注意问题和数据结构 2. Map 扩容是怎么做的&#xff1f; 3. Map 的 panic 能被 recover 掉吗&#xff1f;了解 panic 和 recover …

能否仅用两台服务器实现集群的高可用性??

我们将问题分为两部分来回答&#xff1a;一是使用 Redis 或 Hazelcast 确保数据一致性后是否仍需 Oracle 或 MySQL 等数据库&#xff1b;二是能否仅用两台服务器实现集群的高可用性。以下是详细探讨&#xff1a; 1. 使用 Redis 或 Hazelcast 确保数据一致性后&#xff0c;还需要…

spring-ai-alibaba DashScopeCloudStore自动装配问题

问题 在学习spring-ai-alibaba时&#xff0c;发现1.0.0.2版本在自动装配DashScopeCloudStore时&#xff0c;会报如下错误&#xff1a; Field dashScopeCloudStore in com.example.spring_ai_alibaba_examples.examples.SpringAiAlibabaExample01 required a bean of type com…

docker-compose部署nacos

1、docker-compose内容 高版本的nacos使用docker启动&#xff0c;需要将所有的端口放开&#xff0c;仅仅开放8848端口&#xff0c;spring-boot客户端获取nacos配置的时候&#xff0c;可能取到的内容为空。 version: 3# 定义自定义网络&#xff0c;确保服务间通信和外部访问 ne…

CSRF 与 SSRF 的关联与区别

CSRF 与 SSRF 的关联与区别 区别 特性CSRF (跨站请求伪造)SSRF (服务器端请求伪造)攻击方向客户端 → 目标网站服务器 → 内部/外部资源攻击目标利用用户身份执行非预期操作利用服务器访问内部资源或发起对外请求受害者已认证的用户存在漏洞的服务器利用条件用户必须已登录目…

Payload-SDK自动升级

Payload-SDK自动升级 前言 自动升级旨在通过无人机更新负载上的软件&#xff0c;包括不限于&#xff1a;Payload-SDK应用、配置文件等。对于文件的传输&#xff0c;大疆的Payload-SDK给我们提供了两种方式&#xff1a;使用FTP协议和使用大疆自研的DCFTP。我们实现的自动升级是…

第五代移动通信新型调制及非正交多址传输技术研究与设计

第五代移动通信新型调制及非正交多址传输技术研究与设计 一、新型调制技术研究与实现 1. FBMC (滤波器组多载波) 调制实现 import numpy as np import matplotlib.pyplot as plt from scipy.fft import fft, ifft, fftshift from scipy.signal import get_window

AI 智能运维,重塑大型企业软件运维:从自动化到智能化的进阶实践​

一、引言&#xff1a;企业软件运维的智能化转型浪潮​ 在数字化转型加速的背景下&#xff0c;大型企业软件架构日益复杂&#xff0c;微服务、多云环境、分布式系统的普及导致传统运维模式面临效率瓶颈。AI 技术的渗透催生了智能运维&#xff08;AIOps&#xff09;的落地&#x…

Apache CXF安装详细教程(Windows)

本章教程,主要介绍,如何在Windows上安装Apache CXF,JDK版本是使用的1.8. 一、下载Apache CXF Apache CXF(Apache Celtix Fireworks)是一个开源的 Web 服务框架,用于 构建和开发服务端与客户端的 Web 服务应用程序。它支持多种 Web 服务标准,尤其是 SOAP(基于 XML 的协议…

逆向入门(22)程序逆向篇-TraceMe

界面看起来很普通 也没有壳&#xff0c;直接搜索字符串找到关键代码处 但是发现这些都是赋值&#xff0c;并没有实现跳转相关的函数。这里通过给弹窗函数下断点&#xff0c;追一下返回函数来找触发点。 再次点击check&#xff0c;触发断点&#xff0c;接着按ctrlF9返回到函数…

中文PDF解析准确率排名

市面上的文档解析工具种类各异&#xff0c;包括更适用于论文解析的&#xff0c;专精于表格数据提取的&#xff0c;针对手写体优化的&#xff0c;适用于技术文档的&#xff0c;擅长处理复杂多语言混排文档的&#xff0c;专门处理政府招标文档表格的&#xff0c;以及擅长金融类表…

Conformal LEC:官方学习教程

相关阅读 Conformal LEChttps://blog.csdn.net/weixin_45791458/category_12993839.html?spm1001.2014.3001.5482 本文是对Conformal Equivalence Checking User Guide中附录实验的翻译&#xff08;有删改&#xff09;&#xff0c;实验文件可见安装目录Conformal/share/cfm/l…

【Torch】nn.Embedding算法详解

1. 定义 nn.Embedding 是 PyTorch 中的 查表式嵌入层&#xff08;lookup‐table&#xff09;&#xff0c;用于将离散的整数索引&#xff08;如词 ID、实体 ID、离散特征类别等&#xff09;映射到一个连续的、可训练的低维向量空间。它通过维护一个形状为 (num_embeddings, emb…

cdq 三维偏序应用 / P4169 [Violet] 天使玩偶/SJY摆棋子

最近学了 cdq 分治想来做做这道题&#xff0c;结果被有些毒瘤的代码恶心到了。 /ll 题目大意&#xff1a;一开始给定一些平面中的点。然后给定一些修改和询问&#xff1a; 修改&#xff1a;增加一个点。询问&#xff1a;给定一个点&#xff0c;求离这个点最近&#xff08;定义…

System.Threading.Tasks 库简介

System.Threading.Tasks 是 .NET 中任务并行库(Task Parallel Library, TPL)的核心组件&#xff0c;它提供了基于任务的异步编程模型&#xff0c;是现代 .NET 并发编程的基础。 设计原理 1. 核心目标 抽象并发工作&#xff1a;将并发操作抽象为"任务"概念 资源高效…

Python爬虫实战:研究jieba相关技术

1. 引言 1.1 研究背景与意义 随着互联网技术的飞速发展,网络新闻已成为人们获取信息的主要渠道之一。每天产生的新闻文本数据量呈爆炸式增长,如何从海量文本中高效提取有价值的信息,成为信息科学领域的重要研究课题。文本分析技术通过对文本内容的结构化处理和语义挖掘,能…

github 淘金技巧

1. 效率&#xff0c;搜索&#xff0c;先不管。后面再说。 2. 分享的话&#xff0c; 其实使用默认的分享功能也行。也是后面再说。此 app &#xff0c; 今天先做到这里。 下面我们再聊点其他东西。其实我还想问&#xff0c;这个事情&#xff0c;其他人是否也做了&#xff0c; ht…

RAG技术发展综述

摘要 检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;技术已成为大语言模型应用的核心技术栈。RAG有效解决了LLM的幻觉问题、知识截止和实时更新挑战&#xff0c;目前正处于全面产业化阶段。本文系统性地分析RAG的全栈技术架构&#xff0c;包括检索…

集群聊天服务器---muduo库(3)

使用muduo网络库进行编译和链接的示例 项目的目录结构 bin: 存放可执行文件。 lib: 存放库文件。 include: 存放头文件。 src: 存放源代码文件。 build: 存放编译生成的中间文件。 example: 存放示例代码。 thirdparty: 存放第三方库。 CMakeLists.txt: CMake构建系统…

双核SOC/5340 应用和网络核间通讯

1&#xff1a; 可以在 nRF Connect SDK 文件夹结构的 samples/ipc/ipc_service 下找到示例&#xff0c;应用和网络核心在由 CONFIG_APP_IPC_SERVICE_SEND_INTERVAL 选项指定的时隙内相互发送数据。可以更改该值并观察每个核心的吞吐量如何变化 nRF5340 DK 可以使用 RPMsg 或 IC…