asp.net快递单打印的实现
由于项目的需要,要实现快递单在线批量套打的功能。在网上找了好些相关的资料,当时发现了一个Web打印控件,然而在测试的过程中发现,如果没有使用打印预览功能,那么那Web打印控件会自行添加一行未注册的文字信息,感觉不怎么能接受,于是就放弃了此控件。
为了更快地实现此功能,于是决定使用最原始的网页打印功能。基本思路是先使用一张快递单作为页面的背景,然后把需要填写的内容使用CSS在页面进行定位。
一、打印机
1.打印机是可以设置纸张大小的,这样就可以解决连续打印走纸的距离。
2.用直尺量快递单的大小,23cm*12.7cm。
3.设置打印机的尺寸(server2003): 开始-》打印机和传真-》右击 服务器属性->创建新格式-》填写上面量好的尺寸保存即可
4.给打印快递单的打印机(epson lq635k)设置纸张大小 :选择打印机-》打印首选项-》高级-》选择纸张规格,你刚添加的即可
5.打印机后进纸的时候,纸张一定靠左,以左对齐,然后再对齐右边。这样不会打歪。
再回到程序里,现在知道实际快递单尺寸是23*12.7那么转换成px是多少了呢?接下来打印位置,怎么定位呢?
1.尺寸23*12.7转换成px 后 (23*38)*(12.7*38)=874*483。(大约是 1cm=38px)
2.用ps把扫描好的快递单改成874*483即可。
3.由于我们打印区域只是从0,0开始的(top 和 left),我们用尺子量各个打印位置,top和left,记得量的时候左一定从0开始(最边上量)
4.把图片更换成改好后的尺寸,然后把数据对应到你量好的尺寸处。
5.再把浏览器的页面设置量的 上和下改成0,保存即可。(这步很重要)
转自http://www.cnblogs.com/chenhuzi/archive/2010/11/25/web-print-delivery-express-method.html