jquery 生成公章
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport"/>
<meta content="yes" name="apple-mobile-web-app-capable"/>
<meta content="black" name="apple-mobile-web-app-status-bar-style"/>
<meta content="telephone=no" name="format-detection"/>
<title>公章</title>
</head>
<style type="text/css">
.chapter {
width: 229px;
margin: 0 auto;
text-align: center;
}
.form-group .chapter p{
font-size: 18px;
position: relative;
top: -120px;
left: 0px;
text-align: center;
}
</style>
<body>
<div class="word">
<div class="container" style="margin-top:20px;">
<div class="form-group">
<div class="row">
<div class="col-sm-12 chapter col-xs-12" >
<canvas id="canvas" width="200" height="200"></canvas>
<p>财务部门</p>
<p class="time2" ></p>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="../../assets/libs/jquery/dist/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.js"></script>
<script type="text/javascript">
var time2;
$(function () {
function format(shijianchuo){
var time = new Date(shijianchuo);
var y = time.getFullYear();
var m = (time.getMonth()+1 < 10 ? '0'+(time.getMonth()+1) : time.getMonth()+1);
var d = (time.getDate() < 10 ? '0'+(time.getDate()) : time.getDate());
var times=('【'+y+'】'+m+'月');
time2=(y+'-'+m+'-'+d);
$(".time").append(times);
CNDateString(time2);
}
format(1677563896*1000);
$(".download").click(function (event) {
$(".word").wordExport('word文档');
});
function createSeal(id,company){
var canvas = document.getElementById(id);
var context = canvas.getContext('2d');
// 绘制印章边框
var width=canvas.width/2;
var height=canvas.height/2;
context.lineWidth=2;
context.strokeStyle="#f00";
context.beginPath();
context.arc(width,height,75,0,Math.PI*2);
context.stroke();
//画五角星
create5star(context,width,height,30,"red",0);
// 绘制印章名称
context.font = '15px Helvetica';
context.textBaseline = 'middle';//设置文本的垂直对齐方式
context.textAlign = 'center'; //设置文本的水平对对齐方式
context.lineWidth=1;
context.fillStyle = '#f00';
context.fillText(name,width,height);
// 绘制印章单位
context.translate(width,height);// 平移到此位置,
context.font = '20px Helvetica bold'
var count = company.length;// 字数
var angle = 4*Math.PI/(3*(count - 1));// 字间角度
var chars = company.split("");
var c;
for (var i = 0; i < count; i++){
c = chars[i];// 需要绘制的字符
if(i==0)
context.rotate(5*Math.PI/6);
else
context.rotate(angle);
context.save();
context.translate(65, 0);// 平移到此位置,此时字和x轴垂直
context.rotate(Math.PI/2);// 旋转90度,让字平行于x轴
context.fillText(c,0, 5);// 此点为字的中心点
context.restore();
}
//绘制五角星
/**
* 创建一个五角星形状. 该五角星的中心坐标为(sx,sy),中心到顶点的距离为radius,rotate=0时一个顶点在对称轴上
* rotate:绕对称轴旋转rotate弧度
*/
function create5star(context,sx,sy,radius,color,rotate){
context.save();
context.fillStyle=color;
context.translate(sx,sy);//移动坐标原点
context.rotate(Math.PI+rotate);//旋转
context.beginPath();//创建路径
var x = Math.sin(0);
var y= Math.cos(0);
var dig = Math.PI/5 *4;
for(var i=0;i<5;i++){
var x = Math.sin(i*dig);
var y = Math.cos(i*dig);
context.lineTo(x*radius,y*radius);
}
context.closePath();
context.stroke();
context.fill();
context.restore();
}
}
createSeal('canvas','河南电子商务有限公司');
// 日期转为中文
var s;
function CNDateString(date) {
var today = new Date(date);
var chinese = [ '〇', '一', '二', '三', '四', '五', '六', '七', '八', '九' ];
var y = today.getFullYear().toString();
var m = (today.getMonth() + 1).toString();
var d = today.getDate().toString();
var result = "";
for (var i = 0; i < y.length; i++){
result += chinese[y.charAt(i)];
}
result += "年";
if (m.length == 2) {
if (m.charAt(0) == "1") {
result += "十";
if (m.charAt(1) != "0") {
result += chinese[m.charAt(1)];
}
result += "月";
}
} else {
result += (chinese[m.charAt(0)] + "月");
}
if (d.length == 2) {
result += chinese[d.charAt(0)] + "十";
if (d.charAt(1) != '0') {
result += chinese[d.charAt(1)];
}
result += "日";
} else {
result += (chinese[d.charAt(0)] + "日");
}
s=result.replace("一十","十");
}
$('.time2').html(s);
})
</script>
</body>
</html>