C#通过Com串口进行Barcode Printer
前言
工作中有遇到Barcode打印的需求,最开始是通过打印机型号找到对应的打印机,再进行操作,但是需要匹配的打印机型号太多,而且不定,所以处理起来太过麻烦。
后面通过找到通过串口找到打印机,直接传输命令的方式操控打印机。
(经测试,Zebra和TSC两种类型的打印机均可打印成功)
一、简单了解打印机ZPL命令
二、ZPL命令测试地址
http://labelary.com/viewer.html
三、连接串口Com的通信方式
1、导包
using System.IO.Ports;
2、打印代码
private void Print() { SerialPort serialPort = new SerialPort();//创建串口实例 serialPort.PortName = "COM1";//串口名称 try { serialPort.Open();//打开串口 } catch (Exception ex) { MessageBox.Show(ex.Message);//将异常信息传递给用户 return; } string serialString = "^XA";//开始 serialString = serialString + "^LH0,0^FS";//偏移量 serialString = serialString + "^FO32,10^ABN,9,5^FD" + "First Line" + "^FS";//32,10即开始位置(x,y); ABN即字体大小,AANserialString = serialString + "^FO50,25^BY2,3,50^BE,,,^FD" + "Barcoed12345" + "^FS"; serialString = serialString + "^FO45,96^AAN,9,5^FD" + "Third Line" + "^FS"; serialString = serialString + "^PQ1"; serialString = serialString + "^XZ";//结束 serialPort.Write(serialString); //serialPort.WriteLine(serialString);//也可以一行一行地打印,效果一样 serialPort.Close(); //Close specified printer driver }
另外:
USB等其他接口此方式是否可以通过这种方式打印没有测试,但也有测试成功的USB打印方式,需要使用到TSCLib.dll,后期再补一份使用TSCLib.dll的打印blog。