2017-05-24 147 views
0

我現在非常困惑,我需要一個人解釋爲什麼一件事情不工作,另一件事是。我正在使用RawPrinterHelper將命令發送到收據打印機。現在試圖發送命令29,109(剪紙) found here for the TM-T88RawPrinterHelper和命令Epson打印機

我想這應該做的伎倆:

RawPrinterHelper.SendStringToPrinter(pName, ASCIIEncoding.ASCII.GetString(new byte[] { 29, 109 })); 

它沒有工作和做一些研究,我發現這個代碼;

string GS = Convert.ToString((char)29); 
string ESC = Convert.ToString((char)27); 
string COMMAND = ""; 
COMMAND = ESC + "@"; 
COMMAND += GS + "V" + (char)1; 
RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, COMMAND); 

這很好用。這是我的困惑:

  1. 爲什麼我的第一個代碼沒有工作?
  2. 爲什麼字符串中還需要這麼多?
  3. 爲什麼它使用29而不是109?
  4. 什麼是「@」?
  5. 什麼是「V」?

例如,我真的在如何發送命令打印標誌:28,112,1,0

回答

1

爲什麼我的第一個代碼沒有工作?

您鏈接到的文檔顯示27,109是TM-T88發送的序列。你的代碼不工作,正在發送29,109。 如果你看看正在工作的代碼,你會看到27(ESC)被首先發送。 ESC是打印機的典型消息,命令將遵循而不是文本進行打印。

爲什麼字符串中需要這麼多?

這不是太需要,它做了額外的事情,並使用不同的命令來剪切紙張,我將在下面顯示。

爲什麼它使用29而不是109? 什麼是「@」? 什麼是「V」?

看一看的命令在這裏:https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=82

全部工作指令的順序是ESC @ GS V 1

ESC @是「初始化打印機」

GS V被描述爲「選擇切割模式和切紙「。在設定模式後,我假定「1」,但是因爲它在描述中「切割紙張」,所以它會切割紙張。

相關問題