likes
comments
collection
share

js实现电子签名功能

作者站长头像
站长
· 阅读数 24

一:elesigncode拓展包下载

1:github地址:https://github.com/yinhui1129...

2:npm下载:

npm install elesigncode

二:elesigncode常用方法

方法名称描述参数返回值
init初始化方法
undo撤销方法
redo重做方法
toJson将当前实例签名的数据转化为json
toPng获取当前签名的base64位数据png类型
toJpeg获取当前签名的base64位数据jpeg类型
setColor设置签名的颜色color:颜色字符串rgb hex均可以
setLineWidth设置线宽lineWidth:线宽
setBgColor设置背景颜色bgColor:颜色字符串rgb hex均可以
setPen设置笔的类型name:'default' 'writing'
clear清除签名
isEmpty获取是否签名了返回true表示是没有签名,返回false表示签名了

三:elesigncode实现实例

1:html

<div id="test" style="width: 60%;height: 500px;margin: auto;border: 1px solid #333">
</div>
<button id="undo">撤销</button>
<button id="clear">清除</button>
<button id="getJson">获取json</button>
<button id="downloadPng">获取透明图片</button>
<button id="downloadJpeg">获取不透明图片</button>

2:js

<script type="text/javascript" src="./release/lib/dzjm.min.js"></script>
<script>
    var ele = document.getElementById("test");
    var eleSign = new EleSign({
        ele: null
    });//实例化对象
    eleSign.init(); //初始化
    eleSign.moutedEle(ele) //将签名节点放入到传入的element节点中

    eleSign.setPen("default");//设置签名样式:default(默认样式),writing(毛笔样式)

    eleSign.setColor('#f00');//设置签名颜色

    eleSign.setBgColor('#333');//设置背景颜色

    //将当前实例签名的数据转化为json
    document.getElementById("getJson").addEventListener("click", function () {
        var jsonStr = eleSign.toJson();
        console.log(jsonStr);
        alert(jsonStr);
    })

    //下载png
    document.getElementById("downloadPng").addEventListener("click", function () {
        if (eleSign.isEmpty() === false) {
            var baseUrl = eleSign.toPng();
            var a = document.createElement("a");
            document.body.appendChild(a);
            a.setAttribute("href", baseUrl);
            a.setAttribute("download", "png图片");
            a.click();
            document.body.removeChild(a);
        } else {
            alert('请签名')
        }

    })

    //下载jpeg
    document.getElementById("downloadJpeg").addEventListener("click", function () {
        if (eleSign.isEmpty() === false) {
            var baseUrl = eleSign.toJpeg();
            var a = document.createElement("a");
            document.body.appendChild(a);
            a.setAttribute("href", baseUrl);
            a.setAttribute("download", "jpeg图片");
            a.click();
            document.body.removeChild(a);
        } else {
            alert('请签名')
        }
    })

    //撤销
    document.getElementById("undo").addEventListener("click", function () {
        eleSign.undo();
    })
    //清除
    document.getElementById("clear").addEventListener("click", function () {
        eleSign.clear();
    })
</script>

如上我们就可以实现电子签名功能了