您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
芯烨58小票打印机的web打印
发布时间:2019-06-16 20:32:41编辑:雪饮阅读()
前不久老板给了一个任务,让我在web中用芯烨58小票打印机打印购卡单和消费单。
几经折腾都无法直接打印,百度上大多数打印方法都是要先调起系统自带的打印界面,用户需要再次进行操作才能打印。
为了解决这个问题按图索骥找到了lodop打印控件,该打印控件有收费和试用版。试用版每个打印分页都会有lodop的水印。当时老板说无所谓,但问题是当打印内容过多而分页的时候就会出现一个问题,比如你的纸张类型高度为210mm,那么你的内容是200mm时则没有问题,正好水印在剩余的10mm上。可是你的打印内容是210mm,他就会强制分页并且新的一页中页头页脚都是水印,而页中是空白。。。
百度了破解办法都是对老版本的破解,而新版本没有破解办法。
当时折腾一天也没有搞定,隔天后我想了一个办法,将页面内容强制缩放到一页,先判断内容是否大于210mm若大于210mm则按297mm设置制作类型,若大于297mm则设置该打印机最大的纸张类型,芯烨58打印机总共就是这3种类型。
注意:要先获取你打印机的dpi,然后打印机技术手册上面有相关px与dpi与mm之间的换算单位。另外一点,打印二维码的时候会扫码不出来,其实这个要根据自己扫码距离而定,并不是越近就越能扫码到,而是适当距离才行。
芯烨58小票打印机要先安装驱动,然后安装服务端控件并开启服务,最后就是部署到代码中。
下面就是芯烨58小票打印机所需的服务端控件、驱动、技术手册和项目局部代码。
关键字词:js,javascript,lodop,打印
下一篇:AngularJS基础及应用