我可以从perl向POS打印机发送ESC d命令吗?

时间:2010-06-08 01:33:59

标签: perl printing

我有一台Star TSP100打印机,我真的遇到了一些问题。

我的问题是我对编程并不熟悉 - 但我正在学习!

程序员参考Star打印机说,如果我将ESC d发送到打印机 - 这将激活内置刀具 - 我非常想做。

我的问题是我不知道如何从Perl中发送这样的转义码 - 如果它甚至可能的话。

我真的很感激有关此问题的任何建议。

3 个答案:

答案 0 :(得分:6)

逃脱只是一个角色;它可以写成(除其他外)"\e""\033"。因此,假设您有一个打开打印机设备的手柄,您只需要print $fh "\ed"

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用我的模块Printer :: Thermal from 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用于打印和送纸线

您可以使用内置功能cutpaper使事情更简单

$printer->cutpaper;
$printer->print;