RawPrinterHelper和Epson打印机的命令

时间:2017-05-24 22:58:09

标签: c# printing

我现在很困惑,我需要有人解释为什么有一件事不能正常工作。我正在使用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);

这完美无缺。这是我的困惑:

  1. 为什么我的第一个代码没有工作?
  2. 为什么字符串中还需要更多?
  3. 为什么用29而不是109?
  4. 什么是" @"为?
  5. 什么是" V"为?
  6. 例如,我真的对如何发送命令打印徽标感到茫然:28,112,1,0

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被描述为"选择剪切模式并剪切纸张#34;。我假设" 1"在它被设置的模式之后,但它已经"切纸"在描述中,为什么它会削减论文。