我正尝试在热敏打印机上发送ESC/POS命令。但是,每当我发送热敏打印机打印它们作为文本,而不是执行它们作为命令。我正在将这些命令写入.prn文件,并且每当我执行lp命令来打印文件时,这些.prn文件也会被打印出来,但是作为文本。如何将ESC/POS命令发送到Linux中的热敏打印机
我尝试以下方法在.PRN文件中写入ESC/POS命令:
1) PRINT #1, CHR$(&H1D);"h";CHR$(80);
PRINT #1, CHR$(&H1D);"k";CHR$(2);
PRINT #1, "48508007";CHR$(0);
PRINT #1, CHR$(&HA);
PRINT #1, CHR$(&H1D);"k";CHR$(67);CHR$(12);
PRINT #1, "48508007";
2) (0x1B) (0x4C)
(0x1D) (0x6B) 73 2 4 5 6 7 8 9 NUL
(0x0c)
3)
4) “ESC L” “GSķ73 2 4 5 6 7 8 9 NUL” “FF” 我也尝试用C程序作为发送ESC/POS命令:
#include
#include
#include
int main() {
int fd,ret;
char buf[] = "HELLO"
fd = open("/dev/bus/usb/003/007",O_WRONLY);
if(fd < 3) {
perror(open failed);
}
ret = write(fd,&buf,sizeof(buf));
if(ret == -1) {
perror("write failed");
}
}
在执行上面的代码给出误差为:
write failed: invalid arguments