发货单打印python版
作者:互联网
刚开工,大家都在逗利是,叙友情…难得既没有新需求又没有老bug的时间,正好整理一下之前玩的一些东东。
发货单:是指商家在确认用户订单后,下达发货指令给仓库或发货人的同时,附上的客户所购货物详细清单,包括货物ID,货物名称,货物规格,型号,数量等。仓库或发货人收到这份清单后,按单拣货,最后打包人按单核验后打包发货。
所以在整个环境中,发货单是比较重要的中间环节,必须准确清晰的打印出来,方便后续操作。可能大家会说,一个表格搞定的事情,有那么难吗?
这个还真不是一个表格就能搞定的!理由如下:
1、不同的商家和货物,需要打印的模板不一样,一个表格太low,也不方便后续环节快速查找和核验。
2、不同的平台,所采用的技术和编码不太一样,需要很好的兼容。也不是表格能搞定的。
3、有时候还需要随着发货单,再打点其他的,如一对一配套的快递单。这就需要比较高级的支持才能搞定了。
解决方案也比较简单:
1、发货单支持自定义模板;
2、发货单兼容主流平台模板编码;
3、发货单支持上下游衔接及拓展;
能看到这里,基本上整个就通了。不废话了额,看demo代码:
# coding = utf-8
import hashlib
import json
import time
import requests
key = '' # 客户授权key
secret = '' # 电子面单secret
siid = '' # 打印机设备码
param = {
"tempid": "1379****4104148992",
"siid": siid,
"callBackUrl": "http://www.xxx.com/fhd/callback",
"petName": "kd100",
"recName": "小百",
"recPhone": "10086",
"payTime": "2021-01-15 15:40:55",
"expressName": "德邦快递",
"printTime": "2021-01-15 15:41:30",
"printCount": "1",
"address": "广东省深圳市南山区金蝶软件园",
"total": "21",
"remark": "购物小票作为购物凭证,请妥善保管,您有任何疑问,请咨询服务热线 123456798",
"img0": {
"type": "code_128",
"content": "887921256577",
"width": 350,
"height": 100
},
"tab0": [
{
"prodName": "热敏纸",
"count": "5",
"specs": "76*130",
"unitPrice": "30",
"price": "150"
},
{
"prodName": "热敏纸",
"count": "10",
"specs": "100*180",
"unitPrice": "50",
"price": "500"
},
{
"prodName": "续打纸",
"count": "5",
"specs": "",
"unitPrice": "40",
"price": "200"
},
{
"prodName": "云打印机",
"count": "1",
"specs": "二代",
"unitPrice": "499",
"price": "499"
}
]
}
settings = {
"pageWidth": 100,
"pageHeight": 180,
"margins": {
"top": 5,
"bottom": 5,
"left": 5,
"right": 5
}
}
param_json = json.dumps(param)
timestamp = str(time.time())
md = hashlib.md5()
tmp = param_json + timestamp + key + secret
md.update(tmp.encode())
sign = md.hexdigest().upper()
req_params = {
'method': 'billparcels',
'key': key,
't': timestamp,
'sign': sign,
'param': param_json,
'settings': json.dumps(settings)
}
url = 'https://poll.kuaidi100.com/print/billparcels.do' # 请求地址
print(req_params)
result = requests.post(url, req_params) # 发送请求
print(result.text) # 返回数据
标签:prodName,15,python,发货单,打印,param,json,key 来源: https://blog.csdn.net/austin_he2020/article/details/113876618