Могу ли я отправить команду ESC d на принтер POS из Perl? - PullRequest
3 голосов
/ 08 июня 2010

У меня есть принтер Star TSP100, и у меня действительно мало проблем с ним.

Моя проблема в том, что я не настолько знаком с программированием, как следовало бы - но я учусь!

Справочник программистов для принтера Star говорит, что если я отправлю ESC d на принтер - это активирует встроенный резак - что я очень хотел бы сделать.

Моя проблема в том, что я понятия не имею, как отправлять такой код перехода изнутри Perl - если это вообще возможно.

Я очень ценю любые советы по этому вопросу.

Ответы [ 3 ]

6 голосов
/ 08 июня 2010

Побег - это просто персонаж; это может быть записано (среди прочего) как "\e" или "\033". Итак, если у вас есть ручка, открытая для устройства принтера, все что вам нужно, это print $fh "\ed".

0 голосов
/ 02 марта 2015

Вы можете использовать мой модуль Принтер :: Thermal от CPAN

https://metacpan.org/pod/Printer::Thermal

$printer = Printer::Thermal->new(serial_device_path=$path);
$printer->write("\x1d" . 'd'); # \x1d is ESC
$printer->print;

BTW esc d используется для линий печати и подачи

Вы можете использовать встроенную функцию резки бумаги, чтобы упростить процесс

$printer->cutpaper;
$printer->print;
0 голосов
/ 08 июня 2010

http://www.rhinocerus.net/forum/lang-clipper-visual-objects/600098-lowlevel-printing-esc-codes-sending-printer-vista.html#post2414259

Он написан на Clipper, но довольно прост для понимания, так как использует стандартный Windows Printing API, который вызывается на 99% языков программирования Win32.b

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