顺丰丰桥接口开发-不限java(LODOP电子面单打印)

本文介绍了如何使用LODOP打印控件而非顺丰丰桥SDK来实现电子面单打印。内容详细展示了100x150mm规格的打印页面设置和数据生成,基于之前德邦接口的经验,使得该方法易于理解和应用。分享旨在学习交流,转载请保留原文链接。
摘要由CSDN通过智能技术生成

电子面单打印,因为系统版本原因,没有使用丰桥的sdk,而是通过打印控件LODOP打印,关键的是怎么生成相关数据,以及排版,因为有了德邦接口的经验,直接拿来就用,我们使用的是100x150mm规格的,以下是超完整的打印页面,没有更多的整合,基本是个人都能看懂,只需要把【】里面的内容换成相关的数据即可。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>打印顺丰物流订单</title>
	  <script src='CLodopfuncs.js'></script>
	  <script src='jquery.js'></script>
	
    <script type="text/javascript">
    
		//单号格式
		function replaceStr(str) {
		    return str.replace(/(.{3})/g,'$1 ');
		}
	
		//生成条码格式,13位的加上“SF”
		function generSplitMailNo(bc) {
			if(bc.length >= 13)
				return "SF " + replaceStr(bc);
			else
				return replaceStr(bc);
		}
	
		var qrcode = "MMM={'k1':'xxx','k2':'xxxx','k3':'xxx','k4':'xxx','k5':'111111111111','k6':'','k7':'xxx'}"; //母单号二维码数据
		var parentNo = "111111111111"; //母单号
	
		//替换二维码里面的单号
		function generQRCode(_mailNo) {
			return qrcode.replace(parentNo, _mailNo);
		}
	
		var mailNo = "111111111111,111111111112,111111111113,111111111114,111111111115";
		var mailNos = mailNo.split(","); 

		//新建lodop打印页面,为了打印更快
		function createOnePage(index) {
			LODOP.NewPage();
			
			//设置打印机
			LODOP.SET_PRINTER_INDEXA(document.getElementById("Select01").value);
			
			LODOP.SET_PRINT_PAGESIZE(0,"100mm","150mm","CreateCustomPage");
			LODOP.SET_SHOW_MODE("BKIMG_WIDTH","100mm");
			LODOP.SET_SHOW_MODE("BKIMG_HEIGHT","150mm");
			
			$('#mail_no_remark').html(mailNos[index-1]);
			
	    		LODOP.ADD_PRINT_TABLE("2mm","3mm","96mm","147mm", $("div#expressPrintArea").html());
	    		
	    		//运单条码
	    		LODOP.ADD_PRINT_BARCODE("13mm","10mm","54mm","13mm","128Auto", mailNos[index-1].length>=13? ("SF" + mailNos[index-1]) : mailNos[index-1]);
	    		LODOP.SET_PRINT_STYLEA(0,"ShowBarText",0);
	    		LODOP.ADD_PRINT_TEXT("26mm","4mm","20mm","20mm", index + "/5");
	    			LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
	    			if(index != 1) {
	    				LODOP.ADD_PRINT_TEXT("26mm","16mm","50mm","20mm", "子单号:" + generSplitMailNo(mailNos[index-1]));
	    				LODOP.ADD_PRINT_TEXT("29mm","16mm","50mm","20mm", "母单号:" + generSplitMailNo("111111111111"));
	    				
	    			} else
	    				LODOP.ADD_PRINT_TEXT("26mm","16mm","50mm","20mm", "母单号:" + generSplitMailNo("111111111111"));
	    		
	    		
	    		//二维码
	    		LODOP.ADD_PRINT_BARCODE("65mm","38mm","26mm","26mm","QRCode", generQRCode(mailNos[index-1]));
		}
	
		function print() {
			alert('准备打印,请勿关闭浏览器。');
			var size = 5; //总件数
			var begin = 1;
			var end = 5; //总件数
			
			//选择打印
			if($('input[name="printAmount"]:checked').val() == 1) {
				begin = $('#begin').val()*1;
				
				if(begin > size) {
					begin = size;
					$('#begin').val(begin);
				}
				end = $('#end').val()*1;
				if(end > size)
					end = size;
				
				size = end - begin + 1;
			}
			
			var pageSize = 10;
			var page = parseInt((size-1)/pageSize) + 1;
			
			var _index = 1;
			for(i = 1; i<=page; i++) {
				LODOP.PRINT_INIT("打印电子面单");
		
				if(i==page && size%pageSize !=0) {
					for(k=0; k < size % pageSize; k++) {
						_index++;
						createOnePage(begin + _index -2);
					}
				} else {
					fo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值