我现在很困惑,我需要有人解释为什么有一件事不能正常工作。我正在使用RawPrinterHelper向收据打印机发送命令。现在正试图发送命令29,109(剪纸) found here for the TM-T88。
我认为这应该可以解决问题:
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);
这完美无缺。这是我的困惑:
例如,我真的对如何发送命令打印徽标感到茫然:28,112,1,0
。
答案 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
被描述为"选择剪切模式并剪切纸张#34;。我假设" 1"在它被设置的模式之后,但它已经"切纸"在描述中,为什么它会削减论文。