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