JS实现电子签名

最近在做一个在线考核的项目,其中有一个需求是考核完毕后在录入成绩时需要进行签名,签名后要在表单显示出来并且进行成绩单的打印
其实思路已经很明显了。

1.第一步先生成画板
2.第二步在画板中进行签名写字
3.第三步点击提交上传图片(base64编码)到服务器
4.第四步服务器接收后转码转成图片(png/img)后,先存到本地静态资源服务器
5.把地址信息存到数据库中

思路大概就是这个思路,有个细节就是在转码转成图片时,如果转成img格式的那么背景就会是黑色的,像这样

达不到电子签名的效果,所以要转成png格式的图片
那么直接开始吧,不墨迹直接放代码
1.生成画板,签名写字,上传图片
drawing.html

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /><title>电子画板</title><link href="css/drawing/mui.min.css" rel="stylesheet" /><script type="text/javascript" src="css/drawing/mui.min.js"></script><script type="text/javascript" src="css/drawing/jquery.min.js"></script><script type="text/javascript" src="css/drawing/jSignature.min.js"></script><!--[if lt IE 9]><script type="text/javascript" src="css/drawing/flashcanvas.js"></script><![endif]-->
</head>
<body>
<h3>请在下方签名</h3>
<div id="signature" style="height: 100%;"></div>
<br>
<input id="clear" type="button" value="清除">
<input id="export" type="button" value="输出图片">
<input id="save" type="button" value="上传图片">
<div id="pic">
</div>
<p id="base" style="width:100%;"></p>
<script type="text/javascript"  src="js/drawing.js" charset="utf-8"></script>
</body>
</html>

drawing.js

    mui.plusReady(function() {plus.screen.lockOrientation('landscape-secondary');});$(document).ready(function() {$("#signature").jSignature()});document.getElementById("clear").addEventListener('tap', function() {$("#signature").jSignature("reset");$("#pic")[0].innerHTML = '';});document.getElementById("save").addEventListener('tap', function() {var datapair = $("#signature").jSignature("getData", "image");var array = datapair.splice(",");$.ajax({url: "/Login/ceshi",//接口方法type: "POST",data: {pp:array[1]},success: function (data) {console.log(data);}});console.log(array[1])mui.toast(array[1]);});document.getElementById("export").addEventListener('tap', function() {var datapair = $("#signature").jSignature("getData", "image");i = new Image();i.src = "data:" + datapair[0] + "," + datapair[1];console.log(i)// dataURLtoFile(i.src,"我是是")$(i).appendTo($("#pic"));});

需要的css、js文件
mui.min.css
mui.min.js
jquery.min.js
jSignature.min.js
css/drawing/flashcanvas.js
文件下载地址 :下载地址(如果未找到,说明审核未过,加我qq技术交流群:1031848061(里面有))
2.服务器接收base64编码进行转译 转译后存到本地服务器

 @PostMapping("/ceshi")public int ceshi(FailPojo failPojo) {BufferedImage image = null;byte[] imageByte = null;try {imageByte = DatatypeConverter.parseBase64Binary(failPojo.getPp());ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);image = ImageIO.read(new ByteArrayInputStream(imageByte));bis.close();String name=System.currentTimeMillis()+new Random().nextInt(999999)+".png";String fileName = studentService.serviceloc().get("computername")+name;File outputfile = new File(fileName);ImageIO.write(image, "png", outputfile);} catch (IOException e) {e.printStackTrace();}return 0;}

3.把服务器的路径存到数据库中
这里就不演示了,就是走个方法把路径存到数据库中。

效果展示
画板


抱歉字有点丑将就看

存到了我本地服务器中。
最后把文件的服务器地址放到特定的成绩单中就实现了电子签名功能!

JS如何实现电子签名相关推荐

  1. 通过js进行在线PDF电子签名和小编辑

    html加js实现电子签名 C#将PDF文件放在html页面进行修改并保存 我们公司最近给了个新需求,研发的图纸跟着单子一起审核,并在图纸PDF上进行签名,走线上流程.这就需要在线编辑PDF了,网上有 ...

  2. jq 使用jSignature.js实现电子签名

    pc或者移动端都可用 <div class="container"><div id="signatureparent"><div ...

  3. js实现移动端电子签名

    apicloud项目需要实现用户的电子签名入库功能,网上各种搜索后终于找到答案 http://www.htmleaf.com/html5/html5-canvas/201505281921.html

  4. webcrypto库下载_使用WebCrypto API的电子签名

    webcrypto库下载 有时我们需要让用户进行电子签名. 通常,人们会理解为以某种方式将您的手写签名放置在屏幕上. 根据管辖范围,可能很好,或者仅存储图像可能还不够. 例如,在欧洲,有910/201 ...

  5. 使用WebCrypto API的电子签名

    有时我们需要让用户进行电子签名. 通常,人们会理解为将您的手写签名以某种方式放在屏幕上. 根据管辖范围,可能很好,或者仅存储图像可能还不够. 例如,在欧洲,有910/2014号法规 ,该法规定义了什么 ...

  6. app canvas渲染后图片黑色_H5 基于 canvas 实现电子签名并生成PDF文档

    (给前端大全加星标,提升前端技能) 转自:coyota666 https://juejin.cn/post/6901273585428463624 前言 电子签名通俗来说就是通过技术手段实现在电子文档 ...

  7. Jquery电子签名制作_jSignature

    今天用Jquery的jSignature库制作一个电子签名 后台.net core上传到指定文件夹 下载jquery库 提取码:rd9g html @{Layout = null; }<!DOC ...

  8. h5 使用canvas实现电子签名和图片的保存

    公司的业务表格登记需要使用上签名,所以做了一个电子签名的模块,网上看了很多相关资料,我选择使用jq 里面带有的签名功能,使用jq-signature.js来实现. 1.将jQuery和jq-signa ...

  9. 微信小程序 手写签名_微信小程序实现电子签名功能

    本文实例为大家分享了微信小程序实现电子签名的具体代码,供大家参考,具体内容如下 // XXXX.wxml bindtouchmove="canvasMove" bindtouche ...

最新文章

  1. postman指定User-Agent的header无效
  2. 洛谷P2633 Count on a tree
  3. oracle9i使用OMS备份数据
  4. Script:列出没有主键或唯一索引的表
  5. Android 四大组件 之 BroadcastReceiver(广播接收者)
  6. 汽车吸尘器UL1017报告如何提交合规性,亚马逊要求ISO17025资质实验室
  7. vpa函数python_Biopython序列比对
  8. 安卓android视频录制、另一部手机实时观看方案
  9. iPhone蓝牙技术学习
  10. Excel中让所有图片刚好适应单元格大小,或者让图片也支持排序
  11. 立方体在三维坐标中的旋转(3D,Spining)
  12. CDC-NCM和CDC-ECM性能差别
  13. 高通Camera数字成像系统简介
  14. 负载均衡是什么?-高负载均衡架构
  15. 微信小程序:获取用户权限
  16. 数据结构与算法之美(二)
  17. [导入]微软.net精简框架常见问题及回答(中文版)
  18. 计算机组装中了解到什么,书本计算机组装与维护的学习心得
  19. 计算机毕业设计PHP+安卓壳爱如你手机壳店铺APP(源码+程序+lw+远程调试)
  20. 升级bugzilla 到最新版本成功 bugzilla 3.2

热门文章

  1. 简单几步实现网络音乐播放器(Python爬虫版百度FM)
  2. python数据分析项目实战—————链家北京租房数据统计分析
  3. 正则表达式总结(待续)
  4. 7-229 sdut-C语言实验- 排序7-227 sdut- C语言实验-计算1到n的和(循环结构)
  5. 极客日报:同一个手机号或可注册两个微信号;第三代AirPods不再支持iPhone 6等老手机
  6. Mongodb本机部署副本集
  7. 十一、HTML常用标签
  8. 【渝粤题库】广东开放大学 文化投资与贸易 形成性考核 (2)
  9. 消消乐php源码,PHP实现开心消消乐的算法示例分享
  10. difflib模块_Python一起来找茬—difflib模块