电子合同开发主要使用了html2canvas、tcpdf。
开发的主要思路:
1、部门在WEB中编辑合同。
2、编辑完成保存合同。
技术实践:html2canvas保存HTML为base64编码,ajax提交至服务器,保存为JPEG。
3、发送合同签署连接短信到客户手机。
技术实践:tcpdf将以保存的JPEG文件做为background添加到PDF中,保存PDF。模版文件引用已保存PDF即可。
其中主要遇到的问题:
1、html2canvas在截图的时候一直是空白文档。后来发现是因为我的html页面太长,导致绘图范围超出了canvas的最大高度。canvas的最大高度在不同浏览器中略有不同。不过都是2^15±1。html2canvas本身设置很简单,没有网上说的那么复杂。最主要的问题就是height参数的设置,还有就是截图有偏移就是设置x,y这两个偏移坐标即可。
2、tcpdf的使用相对简单得多,因为我把所有文字全部转图片,所以不存在中文显示的问题。唯一一个小问题就是margin的设置,在我这个项目中设置必须是0,因为多张图片拼合的时候要无缝对接,以免产生多余的分页。