Epson термопринтер javascript
Я пытаюсь использовать Epson TM-T20II (термопринтер) через веб-страницу. Я выполнил необходимую настройку, и принтер отлично работает в моей сети с использованием данного программного обеспечения. Поэтому я скачал JS epos print SDK и попытался запустить этот пример кода:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>TITLE</title>
<script type="text/javascript" src="../ePOS-Print_SDK/ePOS-Print_SDK_150729E/JavaScript/epos-print-5.0.0.js"></script>
<script type="text/javascript">
function buildMessage() {
//Create an ePOS-Print Builder object
var builder = new epson.ePOSBuilder();
//Create a print document
builder.addTextLang('en')
builder.addTextSmooth(true);
builder.addTextFont(builder.FONT_A);
builder.addTextSize(3, 3);
builder.addText('Hello,\tWorld!\n');
builder.addCut(builder.CUT_FEED);
//Acquire the print document
var request = builder.toString();
var address = 'http://192.168.1.65/cgi-bin/epos/service.cgi?devid=99&timeout=1000';
//Create an ePOS-Print object
var epos = new epson.ePOSPrint(address);
epos.onreceive = function (res) {
//When the printing is not successful, display a message
if (!res.success) {
alert('A print error occurred');
}
}
//Send the print document
epos.send(request);
}
</script>
</head>
<body>
<button onclick='buildMessage()'>Run</button>
</body>
</html>
Для параметра devid я попытался использовать local_printer, который является именем устройства, затем я увидел на панели конфигурации, что идентификатор принтера равен 99. Тем не менее, он не работает, я получил метод статуса 405, недопустимый код на запрос cgi.
Какие-нибудь советы? Заранее спасибо.
РЕДАКТИРОВАТЬ:
Итак, после некоторого исследования кажется, что проблема связана с запросом CORS. Этот запрос является предварительным для вопросов безопасности, и этот предварительный запрос не проходит контроль доступа, поскольку в ответе отсутствует заголовок "Access-Control-Allow-Origin". Так как мне установить этот заголовок?
1 ответ
Если в вашей редакции упоминается проблема с CORS, возможно, вы сможете попробовать запустить Chrome с отключенной веб-безопасностью. Это должно сказать chrome игнорировать сбойный заголовок CORS:
chromium-browser --disable-web-security
https://www.chromium.org/developers/how-tos/run-chromium-with-flags