c# 调用zebra打印机指令打印条码,如果直接打印到lpt1端口的打印机,通过copy指令没有问题,
但如果ZEBRA打印机是通过USB连接,打印机端口为usb001,则程序不能直接拷贝到usb001端口。
必须先共享本机的usb端口打印机,再将共享后的打印机名连接为LPT端口打印机,则可以成功打印。
from:
http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/how-do-i-print-a-file-to-my-usb-printer-in-windows/cc20646f-686c-4b45-9495-1d833b0f5fda
一下是设置步骤:
Set the printer to Shared, and make note of the name that you give it.
Then go to Start | Run, and enter the line
NET USE LPT1 \\name of your computer\shared name of printer
You will now be able to issue the command
COPY /b \path\filename.prn LPT1:
/b 参数不用也可以。
c#代码
private void button1_Click(object sender, EventArgs e) { string wo = "TEST002"; string tmpFile = "d:\\123.txt"; string prtName = @"\\WIN7-20140313GI\test"; StringBuilder str = new StringBuilder(); str.Append("^XA \r\n"); //打印命令开始 str.Append("^LL 600^FS \r\n");//定义标签长度 105SL 300 DPI (1mm 12pt) 50mm*12 str.Append("^PW 1200 \r\n"); //定义标签寬度 100mm*12 str.Append("^FO40,60^A@N,55,35,E:ARIALR.FNT^FDWO:" + wo + "^FS \r\n");//定义坐标,字体 str.Append("^FO40,150^BY4,4^BCN,100,N,N,N,A^FR^FD" + wo + "^FS \r\n");//128码 str.Append("^XZ");//结束打印 using (System.IO.StreamWriter sw = new System.IO.StreamWriter(tmpFile)) { sw.Write(str.ToString()); } System.IO.File.Copy(tmpFile, prtName, true); }