同学的大创项目,做一个能够自动在web 端给word 签名的工具
其实呢,一开始我是有点抵触这个东西的,毕竟我认为这种东西不应该交给web 完成,直接一个onenote 就解觉了...
不过呢,既然这个玩意立项了,我就帮点忙,啊哈哈哈...
不过本着负责任的态度,我这里只讲一点技术理念上的东西。首先这个东西很显然是基于html5的,需要Canvas 画布,这里提下这个jquery 插件
jSignature http://www.jq22.com/jquery-info13488 好了,有了jquery 的魔性支持,emm,签名生成图片不是问题了。
然后就是怎么控制生成签名后的文档了,这里我想了两个办法,一个就是利用 phpword 直接把图片丢到文档里面去,难度较高,需要对php 非常熟悉才行
phpword https://phpword.readthedocs.io/en/latest/intro.html
或者可以把word 转码成pdf ,然后用php 把签名移位到指定的位置上去,这个可行性更好,但是破坏了文档的结构不利于加密
最后就是签名的加密保存了。要认证签名图片不是伪造的很简单,利用MD5算hash值就好了。前端签名的图片二进制流在MD5编码后得到32位的字符串,大家知道word里面有个很玄学的东西叫做隐藏文字,把文件MD5丢到隐藏字符里去,然后因为docx 的本质其实就是一个rar文件,解压后找到图片,比对MD5就可以了,非常的简单,但是用PHP 实现起来可能需要花点功夫。