网页方式打印 EMS 等快递单的经验和教训

互联网时代,出现了很多网店。网店发货的时候,要打印快递单。快递单的打印,有如下特点:
1. 批量打印:必须降低操作的时间成本,所以往往是一批次打印一大堆,然后一一去贴到袋子上封装;
2. 针式打印机:快递单是一式几份,必须是用针式打印机打印才能产生几份复印效果;
3. 纸的长宽是固定的:一般单 EMS 的长度宽度为:20cm * 13 cm ,其中高度能写字的部分是 12CM;
4. 滚纸页高度跟打印单面高度保持一致


关键因素:
1. 用浏览器批量打印 EMS 单,是最简单最容易的实现方式。在浏览器上装插件的方式已经因为安全问题被历史淘汰了,所以,在网页上显示出单上的内容,用底图做显示,是最简约最方便最实用的方式。
2. 那么,就要求页面上显示出来的批量面单,要精确控制,每个面单一页,跟要打印的纸质单长宽高保持严格一致。(稍有偏差便会在一批次打印上百份时出现串页的情况)
3. 要精确控制每页的真实高度,这要求我们不能用 PX 为单位来控制宽高,必须用 PT 为单位来控制宽高。因为 PT 是固定的,PX 是跟机器的屏幕分辨率相关的。
 


调试步骤:
1. 设计页面,控制为每个 EMS 单对应一个table
2. 然后在浏览器中设置好指定打印机的纸宽高(如 EMS 就设置为纸张 20*13CM, 980 * 430 PT ),然后打印预览。打印预览中看到的,应该必须是每页一个单子,高度精确到 1pt
3. 预览中看到的,将是打印机滚纸的页面方式,所以必须预览看起来正常,才能正确滚纸;
4. 如果看不清楚,或者出现不能理解的页面分页,那么一个小技巧就是:将 TABLE 的  border=1 打开,这样就能看到 TABLE 到底是如何显示呈现的,也好调整;
5. 注意:在 table 的行高控制中,尽量避免 tr  height<=10pt 的情况,因为这会导致“是否兼容性视图”情况下的不同页面表现,会带来不可知的问题;
6. 最终测试一下极端情况,比如一次性打印 100 张以上的单子,是否仍然精确。最理想的情况下,在预览页翻页查看,基本上感受不到页面的跳跃,我们看到是似乎是固定的背景下,仅文字有变化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值