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

Так что сейчас я вовлечен в проект, в котором мой советник сказал мне создать киоск на основе Интернета. Так что да, я думал о html, javascript и т. Д. Но мой вопрос в том, какой язык (разметить или нет) использовать при подключении POS-принтера к веб-интерфейсу (киоск). Моя идея здесь состоит в том, чтобы позволить клиенту нажать на то, что он или она хочет заказать, а затем, когда клиент закончит по своему запросу. Распечатывает запрос через POS принтер

1 ответ

Решение

Вы можете сделать это в JavaScript. У Epson фактически есть Epson ePOS SDK для JavaScript.

Я нашел этот пример кода в Интернете. Не удалось проверить это, потому что у меня нет принтера Epson POS рядом со мной в данный момент.

var printer = null;
var ePosDev = null;

function InitMyPrinter()
{ 
console.log("Init Printer");

var printerPort = 8008;
var printerAddress= "192.168.198.168"; 
if(isSSL)
{
printerPort = 8043;
} 
ePosDev = new epson.ePOSDevice();
ePosDev.connect(printerAddress, printerPort, cbConnect);
}
//Printing
function cbConnect(data) {
if(data == 'OK' || data == 'SSL_CONNECT_OK') {
ePosDev.createDevice('local_printer', ePosDev.DEVICE_TYPE_PRINTER,
{'crypto':false, 'buffer':false}, cbCreateDevice_printer);
} else {
console.log(data);
}
}

function cbCreateDevice_printer(devobj, retcode) {
if( retcode == 'OK' ) {
printer = devobj;
printer.timeout = 60000;
printer.onreceive = function (res) { //alert(res.success);
console.log("Printer Object Created");

};
printer.oncoveropen = function () { //alert('coveropen');
console.log("Printer Cover Open");

}; 
} else { 
console.log(retcode);
isRegPrintConnected = false;
}
}

function print(salePrintObj) {
debugger;
if(isRegPrintConnected == false
|| printer==null)
{
return ;
}
console.log("Printing Started");


printer.addLayout(printer.LAYOUT_RECEIPT, 800, 0, 0, 0, 35, 0);
printer.addTextAlign(printer.ALIGN_CENTER);
printer.addTextSmooth(true);
printer.addText('\n');
printer.addText('\n');

printer.addTextDouble(true, true);
printer.addText(CompanyName + '\n');

printer.addTextDouble(false, false);
printer.addText(CompanyHeader + '\n');
printer.addText('\n');

printer.addTextAlign(printer.ALIGN_LEFT);
printer.addText('DATE: '+currentDate+'\t\t');

printer.addTextAlign(printer.ALIGN_RIGHT);
printer.addText('TIME: '+currentTime+'\n');

printer.addTextAlign(printer.ALIGN_LEFT);

printer.addTextAlign(printer.ALIGN_RIGHT);
printer.addText('REGISTER: '+RegisterName+'\n');
printer.addTextAlign(printer.ALIGN_LEFT);
printer.addText('SALE # '+SaleNumber+'\n');

printer.addTextAlign(printer.ALIGN_CENTER);
printer.addTextStyle(false, false, true, printer.COLOR_1);
printer.addTextStyle(false, false, false, printer.COLOR_1);
printer.addTextDouble(false, true);
printer.addText('* SALE RECEIPT *\n');
printer.addTextDouble(false, false);
....
....
.... 

}

Надеюсь, это поможет вам в дальнейшем.

Другие вопросы по тегам