如何将页面剪切命令发送到Epson打印机

我正在尝试通过向打印机发送剪纸命令(带USB端口的Epson TM U220)实际剪切纸张。 我使用了打印机与Generic / Text Only Driver和Epson打印机端口,我在安装Epson高级打印机驱动程序后找到了该端口。 打印机命令代码是(GS V m),其中m = 0,1,48或49,我在设备手册中找到了它。 我想知道如何通过StringWriter将这些命令发送到打印机。 我使用Generic / Text Only打印机,因为它比使用Epson驱动程序快得多。

我是C#windows的新手,请任何人为我提供一些代码来实现这一目标。 我已经在网上冲浪了好几天还没有找到答案。 我想我需要发送打印机命令作为字节,但我不知道该怎么做:(

非常感谢汉斯。 现在我可以使用Microsoft RawPrinterHelper类发送Paper cut命令。 我一直在寻找这个解决方案六天。 这就是我所做的。

string GS = Convert.ToString((char)29); string ESC = Convert.ToString((char)27); string COMMAND = ""; COMMAND = ESC + "@"; COMMAND += GS + "V" + (char)1; PrintDialog pd = new PrintDialog(); pd.PrinterSettings = new PrinterSettings(); if (DialogResult.OK == pd.ShowDialog(this)) { RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, COMMAND); } 

对于那些使用netcat进行打印(非常简单的方法来打印东西而不安装任何驱动程序),剪纸:

 echo -e "\x1B@\x1DV1" | nc printer.ip 9100 

与c#版本相同的字符串,但映射到hex: \x1B = ESC\x1D = GS