HTML页面添加自定义水印(watermark)

在需要引入HTML页面添加方法

 $(document).ready(function () {
        // 开启水印
        watermark.set('雨天路滑 小心驾驶');

        // 关闭水印
       // watermark.del();

    });

页面添加水印效果

/**

 * 页面添加水印效果
 * @method set 设置水印
 * @method del 删除水印
 */
const watermark = {
    // 设置水印
    set: (str) => {
        let id = setWatermark(str);
        if (document.getElementById(id) === null)
            id = setWatermark(str);
    },

    // 删除水印
    del: () => {
        let id = '1.99654.234';
            if (document.getElementById(id) !== null)
                document.body.removeChild(document.getElementById(id));
    }

};
const setWatermark = (str) => {
    const id = '1.99654.234';
    if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id));
    const can = document.createElement('canvas');
    can.width = 200;
    can.height = 130;
    const cans = can.getContext('2d');
    cans.rotate((-20 * Math.PI) / 180);
    cans.font = '12px Vedana';
    cans.fillStyle = 'rgba(200, 200, 200, 0.30)';
    cans.textBaseline = 'Middle';
    cans.fillText(str, can.width / 10, can.height / 2);
    const div = document.createElement('div');
    div.id = id;
    div.style.pointerEvents = 'none';
    div.style.top = '15px';
    div.style.left = '0px';
    div.style.position = 'fixed';
    div.style.zIndex = '10000000';
    div.style.width = `${document.documentElement.clientWidth}px`;
    div.style.height = `${document.documentElement.clientHeight}px`;
    div.style.background = `url(${can.toDataURL('image/png')}) left top repeat`;
    document.body.appendChild(div);
    return id;
};

效果图

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EasyExcel是一个开源的Java库,用于读写Excel文件。如果您想要在生成的Excel文件中添加自定义水印,可以使用EasyExcel的扩展插件机制来实现。 以下是添加自定义水印插件的步骤: 1. 创建一个实现了com.alibaba.excel.write.handler.WriteHandler接口的自定义水印处理器类。该接口包含了beforeSheetCreate和afterSheetCreate两个方法,分别在创建Sheet之前和之后调用。可以在这些方法中添加自定义水印。 例如下面是一个添加水印的处理器类: ```java public class WaterMarkHandler implements WriteHandler { private String watermark; public WaterMarkHandler(String watermark) { this.watermark = watermark; } @Override public void beforeSheetCreate(String sheetName, int sheetIndex) { // no-op } @Override public void afterSheetCreate(String sheetName, int sheetIndex) { Sheet sheet = EasyExcel.writerSheet(sheetIndex, sheetName) .build() .getSheet(); // 在Sheet中添加水印 Drawing<?> drawing = sheet.createDrawingPatriarch(); // 创建文字方块 ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 0, 3, 3); anchor.setAnchorType(ClientAnchor.AnchorType.MOVE_DONT_RESIZE); // 创建水印文字 RichTextString watermarkText = new XSSFRichTextString(watermark); watermarkText.applyFont(watermarkFont()); // 在文字方块中添加水印文字 drawing.createTextbox(anchor).setString(watermarkText); } private Font watermarkFont() { Font font = new Font("宋体", Font.BOLD, 20); font.setColor(IndexedColors.GREY_50_PERCENT.getIndex()); return font; } } ``` 2. 创建一个实现了com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder接口的自定义工作簿处理器类。该接口包含了beforeWorkbookCreate和afterWorkbookCreate两个方法,分别在创建Workbook之前和之后调用。可以在这些方法中添加自定义水印处理器。 例如下面是一个添加水印处理器的工作簿处理器类: ```java public class WaterMarkWorkbookHandler implements WriteWorkbookHolder { private String watermark; public WaterMarkWorkbookHandler(String watermark) { this.watermark = watermark; } @Override public void beforeWorkbookCreate() { // no-op } @Override public void afterWorkbookCreate(WriteWorkbookHolder writeWorkbookHolder) { // 获取Workbook对象 Workbook workbook = writeWorkbookHolder.getWorkbook(); // 创建水印处理器 WriteHandler waterMarkHandler = new WaterMarkHandler(watermark); // 注册水印处理器 ((SXSSFWorkbook) workbook).registerWriteHandler(waterMarkHandler); } } ``` 3. 在生成Excel文件时使用自定义工作簿处理器类。 例如下面是一个使用自定义工作簿处理器类的示例: ```java public static void main(String[] args) { // 创建ExcelWriter对象 String filename = "test.xlsx"; ExcelWriter excelWriter = EasyExcel.write(filename) .withTemplate("template.xlsx") .build(); // 设置自定义工作簿处理器 WriteWorkbookHolder waterMarkWorkbookHandler = new WaterMarkWorkbookHandler("自定义水印"); excelWriter.setWriteWorkbookHolder(waterMarkWorkbookHandler); // 写入数据 List<User> userList = Arrays.asList( new User("张三", 20), new User("李四", 25), new User("王五", 30) ); excelWriter.write(userList, EasyExcel.writerSheet().build()); // 关闭ExcelWriter对象 excelWriter.finish(); } ``` 在上面的示例中,我们创建了一个ExcelWriter对象,并设置了自定义工作簿处理器为WaterMarkWorkbookHandler。然后向Excel文件中写入数据并关闭ExcelWriter对象。在关闭ExcelWriter对象时,自定义工作簿处理器会自动添加到生成的Excel文件中。 通过以上步骤,就可以在使用EasyExcel生成Excel文件时添加自定义水印插件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值