总体构想,在打印的地方用如下方式调用
LabelPrint labelPrint = new LabelPrint(PrinterName) {DataSource = data, Papers = papers};
labelPrint.PrintLabel();
“组织好你的数据和模板,传入即可”
解释:
1.LabelPrint负责打印的类,初始时传入打印设备PrinterName
2.DataSource 是LabelPrint类的属性,代表标签上的数据,Object类型
3.Papers是LabelPrint类的属性,代表模板列表
4.PrintLabel()方法实现打印
优势:
1.打印行为、数据源、模板三者独立,分别由三个不同的类表示,一目了然
2.DataSource为Object类型,可以为自定义实体类,也可以为字符串
3.支持Zebra打印设备的ZPL语言和普通打印机的GDI打印方式
4.模板作为独立的对象,用户可以实现基本的编辑功能,如调整位置(这个很有用)
功能设想
1.触发一次打印事件(点按钮/扫描),可以根据预先分配的n个模板打印出n+n个标签
比如,在第二工位上扫描第一工位的来料半成品标签,然后打印出:外箱(1个),内箱(2个),尾箱(1个),客户要求的定制标签(1个),共4个模板,5个标签
2.包装分两级时,如一个外箱内有两个内箱,当外箱数是10时,内箱是5和5,外箱数是8时内箱是5和3(不是4和4),外箱数是4时,只出一个内箱标签
……
今天开始办这个事,欢迎提出宝贵意见