TM-U220をサポートするEpsonプリンタ用の2つのjavascript SDKをダウンロードしましたが、どちらもプリンタに接続せず、印刷もされません。しかし、QZ Trayなどの他のSDKを使用しようとしたときに機能しましたが、QZトレイがオンになっている必要があります。アンドロイドで動作させたいので、Epsonのjavascript SDKを使用します。 192.168.1.98、ポート:9100、およびデバイスID:local_printer、私はこのエラーを得た:TM-U220への接続中にエラーが発生しました。
問題は、私はエプソンはjavascriptのSDKと入力して、IPを提供したことを、プリンタのサンプルを使用する場合でありますがePOS Device Service Interfaceに接続できませんでした。 [ERROR_TIMEOUT]
しかし、プリンタは小さな印刷物、私が読むことができない手紙、そして印刷の最後に:2http/1.1をしました。そして、コンソールで:
OPTIONS https://192.168.1.98/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000ネット:: ERR_CONNECTION_REFUSED
と
はOPTIONS https://192.168.1.98/cgi-bin/eposDisp/service.cgi?devid=local_display&timeout=10000ネット:: ERR_CONNECTION_REFUSED
私自身も簡単なコードを作成しました。 これは使用して私の最初のコードであるエポス-2.3.0.js:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Print Test</title>
<script type="text/javascript" src="epos-2.3.0.js"></script>
<script type="text/javascript">
// Retrieving Printer objects (printer selection)
var printer = null;
// Retrieving Printer objects (printer selection)
// Creating ePOSDevice objects (device connection and communication)
var ePosDev = new epson.ePOSDevice();
function connect() {
var ipAddress = '192.168.1.98'; var port = '9100';
ePosDev.connect(ipAddress, port, callback_connect);
}
// Creating ePOSDevice objects (device connection and communication)
// Retrieving Printer objects (printer selection)
function callback_connect(resultConnect) {
var deviceId = 'local_printer';
var options = {'crypto' : false, 'buffer' : false};
if ((resultConnect == 'OK') || (resultConnect == 'SSL_CONNECT_OK')) {
// Retrieves the printer object
alert("Success callback connect");
ePostDev.createDevice(deviceId, ePosDev.DEVICE_TYPE_PRINTER, options, callback_createDevice);
}
else {
// Displays error messages
alert("Error callback connect");
}
}
function callback_createDevice(deviceObj, errorCode) {
if (deviceObj === null) {
// Displays an error message if the system fails to retreive the printer object
return;
}
printer = deviceObj;
// Registers the print complete event
printer.onreceive = function(response) {
if (response.success) {
// Displays the successful print message
alert("Callback create device response success");
}
else {
// Displays error messages
alert("Callback create device response failed");
}
}
}
// Retrieving Printer objects (printer selection)
// Creating print data (data buffering)
function createData() {
printer.addTextAlign(printer.ALIGN_CENTER);
printer.addText('Hello World\n');
}
// Creating print data (data buffering)
// Sending print data (printing and disconnection)
function send() {
if (ePosDev.isConnected) {
printer.send();
}
}
// Sending print data (printing and disconnection)
</script>
</head>
<body>
<input type="button" onclick="connect()" value="Connect" />
<input type="button" onClick="send()" value="Print Hello World" />
</body>
</html>
そして、私が使用しているこの1 エポスプリント-3.2.0.js:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Print Test 2</title>
<script type="text/javascript" src="epos-print-3.2.0.js"></script>
<script type="text/javascript">
function buildMessage() {
// Create a print document
var builder = new epson.ePOSBuilder();
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);
var request = builder.toString();
var address = 'http://192.168.1.98/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000';
// Create an ePOS-Print object
var epos = new epson.ePOSPrint(address);
//Send the print document
epos.send(request);
}
</script>
</head>
<body>
<button onclick="buildMessage()">Run</button>
</body>
</html>
私は2番目のコードを実行すると、私は私のコンソールでこのエラーを得た:
OPTIONS
http://192.168.1.98/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000と
XMLHttpRequestがhttp://192.168.1.98/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000をロードすることはできません。プリフライト要求に対する応答がアクセス制御チェックを通過しない:いいえ 要求された リソースに 'Access-Control-Allow-Origin'ヘッダーが存在します。したがって、原点「ヌル」はアクセスが許可されません。応答 はHTTPステータスコード405を持っていました。
しかし、私は
http://192.168.1.98/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000
から
http://192.168.1.98:9100/cgi-bin/epos/service.cgi?devid=local_printer&timeout=10000
にアドレスを変更すると、それは私にこの印刷:
OPTIONS/CGI-binに/エポス/サービスを。 cgi?devid =ローカルプリンタ&タイムアウト= 10000IPアドレス:HTTP/1.1
ホスト:192.168.1.98:9100
接続:キープアライブアクセス制御要求メソッド:POST
オリジン:null
ユーザーエージェント:Mizilla/5.0(Windows NT 6.3; WOW64)のAppleWebKit/537.36 (ヤモリ様KHTML)クローム/ 52.0.2743.116サファリ/ 537.36
アクセス制御リクエスト・ヘッダー:コンテンツ・タイプ変更した場合-ので、 のSOAPAction
は受け入れ:*/*
承諾GZIP、 デフレートし、SDCH
は=言語を受け入れ:-encoding EN-US、EN; Q = 0.8
ちょっと男、私は同じ問題を抱えています、どうやって修正しましたか?なぜポート9100を使用するのですか?ポート8008 –
@DanielArenas Sorr、まだ解決できません。 –
ポート9100に接続しても同じ問題が発生します。誰かがこれを変更する方法を知っている私に教えてください:) –