2017-08-05 8 views
0

Je suis donc actuellement impliqué dans un projet où mon conseiller m'a demandé de créer un kiosque basé sur le Web. Donc oui, je pensais à html, javascript, et etc Mais ma question est quelle langue (balisage ou non) à utiliser lors de la liaison d'une imprimante POS à une base web (kiosque). Mon idée ici est de laisser le client taper sur ce qu'il veut commander et ensuite quand le client a fini à sa demande. Il imprime la demande via l'imprimante POSQuelle langue devrais-je utiliser pour imprimer quelque chose à partir d'un kiosque?

+0

Avez-vous déjà une imprimante POS ou pouvez-vous encore en choisir une? – pjc90

+0

@pjctech Mon ami dit qu'il a une imprimante de reçus qui est un EPSON. Je pense que ce sont les communes que vous voyez près des caissiers. –

+0

vous devez d'abord résoudre le problème de la façon d'envoyer des données à l'imprimante. envoyer des données à un port série à partir de JavaScript n'est pas si facile, mais peut-être pas impossible. Une fois/si vous résolvez cela, alors vous devrez peut-être apprendre ESC/P qui est le langage d'imprimante d'Epson. –

Répondre

0

Vous pouvez le faire en JavaScript. Epson a effectivement un Epson ePOS SDK for JavaScript.

J'ai trouvé cet exemple de code en ligne. Je n'ai pas pu le tester parce que je n'ai pas d'imprimante POS Epson près de chez moi pour le moment.

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); 
.... 
.... 
.... 

} 

Espérons que cela vous aidera davantage.