Как отправить команду обрезки страницы на принтер Epson - PullRequest
10 голосов
/ 13 сентября 2011

Я пытаюсь прагматично обрезать бумагу, отправляя команду обрезки бумаги на принтер (Epson TM U220 с USB-портом). Я использовал принтер с драйвером Generic / Text Only Driver и портом принтера Epson, который я нашел после установки Epson расширенный драйвер принтера. Код команды принтера (GS V m), где m = 0,1,48 или 49, которые я нашел в руководстве по эксплуатации устройства. Я хотел бы знать, как отправить эти команды на принтер по StringWriter. Я использую принтер Generic / Text Only, потому что он намного быстрее, чем драйвер Epson.

Я действительно новичок в C # windows и, пожалуйста, кто-нибудь, пожалуйста, предоставьте мне несколько строк кода для достижения этой цели. Я бродил по сети несколько дней и до сих пор не нашел ответа. Я думаю, что мне нужно отправить команду принтера в байтах, но я не знаю, как это сделать: (

Ответы [ 3 ]

21 голосов
/ 14 сентября 2011

Большое спасибо, Ганс. Теперь я могу отправить команду «Вырезать бумагу» с помощью класса Microsoft RawPrinterHelper. Я искал это решение в течение шести дней. Вот что я сделал.

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);
}
1 голос
/ 28 июля 2015

Для тех, кто печатает с netcat (действительно простой способ напечатать что-либо без установки какого-либо драйвера), чтобы обрезать бумагу:

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

Та же строка, что и в версии c #, но сопоставленная с шестнадцатеричным:\x1B = ESC и \x1D = GS.

0 голосов
/ 12 декабря 2018
s = Replace(s, "<KESME>", Chr(27) + Chr(105), 1) ' Termal Printer


Chr() +chr() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...