vue 調用瀏覽器打印 及添加水印的方法

新建個名爲watermark 的 js 文件

把下面的代碼複製進去

let watermark = {}

let setWatermark = (str) => {
    let id = '1.23452384164.123412416';

    if (document.getElementById(id) !== null) {
        document.body.removeChild(document.getElementById(id));
    }

    //創建一個畫布
    let can = document.createElement('canvas');
    //設置畫布的長寬
    can.width = 300;
    can.height = 300;

    let cans = can.getContext('2d');
    //旋轉角度
    cans.rotate(-15 * Math.PI / 180);
    cans.font = '18px Vedana';
    //設置填充繪畫的顏色、漸變或者模式
    cans.fillStyle = 'rgba(200, 200, 200, 0.40)';
    //設置文本內容的當前對齊方式
    cans.textAlign = 'left';
    //設置在繪製文本時使用的當前文本基線
    cans.textBaseline = 'Middle';
    //在畫布上繪製填色的文本(輸出的文本,開始繪製文本的X座標位置,開始繪製文本的Y座標位置)
    cans.fillText(str, can.width / 8, can.height / 2);

    let div = document.createElement('div');
    div.id = id;
    div.style.pointerEvents = 'none';
    div.style.top = '30px';
    div.style.left = '0px';
    div.style.position = 'fixed';
    div.style.zIndex = '100000';
    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;
}

// 該方法只允許調用一次
watermark.set = (str) => {
    let id = setWatermark(str);
    setInterval(() => {
        if (document.getElementById(id) === null) {
            id = setWatermark(str);
        }
    }, 500);
    window.onresize = () => {
        setWatermark(str);
    };
}

export default watermark;

把js 文件導入 頁面

import Watermark from '../../libs/watermark';

 水印的內容

Watermark.set('水印的內容')

調用瀏覽器打印的方法

            dayin(){
                
                //設置頁眉頁腳爲空
                try
                {
                    Watermark.set('水印的內容')  //瀏覽器打印時添加水印  調用水印方法
                    var hkey_root, hkey_path, hkey_key;
                    hkey_root = "HKEY_CURRENT_USER";
                    hkey_path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
                    var RegWsh = new ActiveXObject("WScript.Shell");
                    hkey_key = "header";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
                    hkey_key = "footer";
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
                }
                catch(e)
                {
                    console.log(e)
                }finally {
                    setTimeout(function(){
                        document.getElementsByTagName('body')[0].style.zoom=0.65;//網頁縮放
                        window.print(); //啓動打印機
                        window.location.reload();
                    },2000);
                }

            },

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章