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);
        }

 

posted on 2014-05-06 17:41  白沙河  阅读(9062)  评论(1编辑  收藏  举报