Я пытаюсь отправить команды ESC/POS на термопринтер. Но всякий раз, когда я отправляю их, термопринтер печатает их как текст, а не выполняет их как команды. Я пишу эти команды в файле .prn, и всякий раз, когда я выполняю команду lp для печати файла, этот .prn-файл также печатается, но как текст.Как отправить команды ESC/POS на термопринтер в Linux
Я попробовал следующий метод, чтобы написать ESC/POS команды в файле .prn:
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) <ESC>(0x1B) <L>(0x4C)
<GS>(0x1D) <k>(0x6B) 73 2 4 5 6 7 8 9 NUL
<FF>(0x0c)
3) <ESC L>
<GS k 73 2 4 5 6 7 8 9 NUL>
4) "ESC L" "GS K 73 2 4 5 6 7 8 9 NUL" "FF" Я также попытался отправки команды ESC/POS с помощью программы C, как:
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
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
Спасибо, что вам понравился @abartek. Я пробовал это без успеха. – user3860949
Я отправляю этот файл на принтер с помощью команды lp, которая предназначена для печати файла. Правильно ли это отправить команды на принтер или какой-либо другой способ сделать это. Этот термопринтер подключен к системе с помощью USB-порта. – user3860949
Есть ли поддержка библиотеки на языке C для этого. – user3860949