How to send page cut command to Epson printer
Solution 1
Thank you very much Hans. Now I can send Paper cut command by using Microsoft RawPrinterHelper class. I've been seeking this solution for six days. Here is what I've done.
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);
}
Solution 2
For those printing with netcat
(really easy way to print something without installing any driver), to cut the paper:
echo -e "\x1B@\x1DV1" | nc printer.ip 9100
Same string like in the c# version, but mapped to hex: \x1B = ESC
and \x1D = GS
.
tslin
Updated on December 13, 2020Comments
-
tslin over 3 years
I'm trying to cut the paper pragmatically by sending paper cut command to the printer (Epson TM U220 with USB port). I used the printer with Generic/Text Only Driver and Epson printer port which I found after installing Epson advanced printer driver. Printer command code is (GS V m), where m = 0,1,48 or 49 which I found on the device manual. I would like to know how to send these command to printer by StringWriter. I use Generic/Text Only printer because it's much faster than using Epson driver.
I'm really new to C# windows and please anyone kindly provide me some lines of code to achieve this. I've been surfing the web for several days and still not found the answer yet. I think I need to send printer command as byte but I don't know how to do :(