1. 程式人生 > 實用技巧 >C#通過Com串列埠進行Barcode Printer

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即字型大小,AAN<ABN<ACN<ADN……;^FD為行開始,^FS為行結束 serialString = 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。