StarWebPrintTrader.js
Star webPRNT送信エレメント列を送信したり、受信したStar webPRNT受信エレメント列から状態を確認/抽出します。
コンストラクタ
メソッド
プロパティ
機種別対応リスト
機種別のインターフェイス対応表はこちらをご確認ください。
POSプリンター
*1 Bluetooth/USBプリンターは印刷完了待ち有効固定、名前付き引数’checkedblock'は作用しない
*2 日本国内では販売しておりません
*3 MCP30は除く(日本国内では通常販売しておりません)
モバイルプリンター (ESC/POS)
*1 印刷完了待ち有効固定、名前付き引数’checkedblock'は作用しない
*2 名前付き引数’papertype'は作用しない
モバイルプリンター (StarPRNT)
*1 印刷完了待ち有効固定、名前付き引数’checkedblock'は作用しない
*2 名前付き引数’papertype'は作用しない
StarWebPrintTrader
StarWebPrintTraderオブジェクトを生成します。
構文
StarWebPrintTrader(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
url | Star webPRNTエンドポイントURL ※省略時はsendMessageメソッドで指定すること | String | - |
checkedblock | 印刷完了待ち
- true … 印刷完了待ち有効
- false … 印刷完了待ち無効
|
Boolean | true |
papertype | 用紙の種類
- normal … 普通紙
- black_mark … ブラックマーク紙
- black_mark_and_detect_at_power_on … ブラックマーク紙 (電源投入時の位置検出有効)
| String | - |
timeout | 通信タイムアウト時間(ms) | Number | 90000 |
holdprint_timeout | 用紙保持制御の抜き取り待ちタイムアウト時間(ms) ※timeoutよりも短い値を設定すること。
長い時間を設定した場合、timeoutが優先される。 | Number | 10000 |
戻り値
説明 | 型 |
StarWebPrintTraderオブジェクト | StarWebPrintTrader |
例
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.sendMessage({request:request});
}
// -->
</script>
sendMessage
Star webPRNT送信エレメント列を送信します。
名前付き引数
名称 | 説明 | 型 | 省略時 |
url | Star webPRNTエンドポイントURL ※省略時はStarWebPrintTraderコンストラクタで指定すること | String | - |
checkedblock |
印刷完了待ち
- true … 印刷完了待ち有効
- false … 印刷完了待ち無効
※省略時はStarWebPrintTraderコンストラクタで指定された値 | Boolean | - |
request | Star webPRNT送信エレメント列 | String | 省略不可 |
papertype | 用紙の種類
- normal … 普通紙
- black_mark … ブラックマーク検出有効
- black_mark_and_detect_at_power_on … ブラックマーク検出有効+電源投入時のブラックマーク検出動作有効
- gap … ダイカットラベル紙等のギャップ検出有効
- gap_and_detect_at_power_on … ダイカットラベル紙等のギャップ検出有効+電源投入時のギャップ検出動作有効
※省略時はStarWebPrintTraderコンストラクタで指定された値
StarWebPrintTraderコンストラクタでも指定されていない場合は未設定 | String | - |
戻り値
例
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.sendMessage({request:request});
}
// -->
</script>
isCoverOpen
Star webPRNT受信エレメント列からカバーオープンか確認します。
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
カバーオープン状態
- true … カバーオープン
- false … カバークローズ
| Boolean |
例
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isCoverOpen({traderStatus:response.traderStatus})) {
alert('CoverOpen');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isOffLine
Star webPRNT受信エレメント列からオフラインか確認します。
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
オフライン状態
- true … オフライン
- false … オンライン
| Boolean |
例
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isOffLine({traderStatus:response.traderStatus})) {
alert('OffLine');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isCompulsionSwitchClose
Star webPRNT受信エレメント列からコンパルジョンスイッチがクローズしているか確認します。
構文
isCompulsionSwitchClose(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
コンパルジョンスイッチ状態
- true … コンパルジョンスイッチクローズ
- false … コンパルジョンスイッチオープン
| Boolean |
例
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isCompulsionSwitchClose({traderStatus:response.traderStatus})) {
alert('CompulsionSwitchClose');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isEtbCommandExecute
Star webPRNT受信エレメント列からETBコマンド実行済みか確認します。
構文
isEtbCommandExecute(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
ETBコマンド実行状態
- true … ETBコマンド実行済み
- false … ETBコマンド未実行
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isEtbCommandExecute({traderStatus:response.traderStatus})) {
alert('EtbCommandExecute');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isHighTemperatureStop
Star webPRNT受信エレメント列から印字ヘッド高温停止中か確認します。
構文
isHighTemperatureStop(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
印字ヘッド高温停止状態
- true … 印字ヘッド高温停止
- false … 印字ヘッド高温未停止
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isHighTemperatureStop({traderStatus:response.traderStatus})) {
alert('HighTemperatureStop');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isNonRecoverableError
Star webPRNT受信エレメント列から復帰不可能エラーか確認します。
構文
isNonRecoverableError(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
復帰不可能エラー状態
- true … 復帰不可能エラー発生
- false … 復帰不可能エラー未発生
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isNonRecoverableError({traderStatus:response.traderStatus})) {
alert('NonRecoverableError');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isAutoCutterError
Star webPRNT受信エレメント列から用紙カッターエラーか確認します。
構文
isAutoCutterError(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
用紙カッターエラー状態
- true … 用紙カッターエラー発生
- false … 用紙カッターエラー未発生
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isAutoCutterError({traderStatus:response.traderStatus})) {
alert('AutoCutterError');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isBlackMarkError
Star webPRNT受信エレメント列から用紙区切り検出エラーか確認します。
構文
isBlackMarkError(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
用紙区切り検出エラー状態
- true … 用紙区切り検出エラー発生
- false … 用紙区切り検出エラー未発生
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isBlackMarkError({traderStatus:response.traderStatus})) {
alert('BlackMarkError');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isPaperEnd
Star webPRNT受信エレメント列から用紙エンドか確認します。
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
用紙エンド状態
- true … 用紙エンド発生
- false … 用紙エンド未発生
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isPaperEnd({traderStatus:response.traderStatus})) {
alert('PaperEnd');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isPaperNearEnd
Star webPRNT受信エレメント列から用紙ニアエンドか確認します。
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
用紙ニアエンド状態
- true … 用紙ニアエンド発生
- false … 用紙ニアエンド未発生
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isPaperNearEnd({traderStatus:response.traderStatus})) {
alert('PaperNearEnd');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isPaperPresent
Star webPRNT受信エレメント列から用紙排出口に用紙があるか確認します。
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
用紙排出口の状態
- true … 用紙排出口に用紙あり
- false … 用紙排出口に用紙なし
| Boolean |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isPaperPresent({traderStatus:response.traderStatus})) {
alert('PaperPresent');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
isRollPositionError
Star webPRNT受信エレメント列から用紙位置エラーか確認します。
構文
isRollPositionError(args);
名前付き引数
名称 | 説明 | 型 | 省略時 |
traderStatus | onReceiveイベントに渡されたresponseのtraderStatusプロパティ | String | 省略不可 |
戻り値
説明 | 型 |
用紙位置の状態
- true … 用紙位置エラー発生
- false … 用紙位置エラー未発生
| Boolean |
例
// --> <script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!-- function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
if (trader.isRollPositionError({traderStatus:response.traderStatus})) {
alert('RollPositionError');
}
}
trader.sendMessage({request:request});
}
// -->
</script>
onReceive
名前付き引数
名称 | 説明 | 型 |
traderSuccess | 印刷結果
| Boolean |
traderCode | 終了コード
- 0 … 正常終了
- 1100 … プリンターオフライン状態(エラー発生中)
- 2001 … プリンタービジー状態(他の端末機器がプリンター使用中:要再送)
| Number |
traderStatus | スター自動ステータス ※コマンド仕様書参照 | String |
status | XMLHttpRequestオブジェクトのstatusプロパティ ※XMLHttpRequest仕様参照 | Number |
responseText | XMLHttpRequestオブジェクトのresponseTextプロパティ ※XMLHttpRequest仕様参照 | String |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
var msg = '- onReceive -\n\n';
msg += 'TraderSuccess:' + response.traderSuccess + '\n';
msg += 'TraderCode:' + response.traderCode + '\n';
msg += 'TraderStatus:' + response.traderStatus + '\n';
msg += 'Status:' + response.status + '\n';
msg += 'ResponseText:' + response.responseText;
alert(msg);
}
trader.onError = function (response) {
var msg = '- onError -\n\n';
msg += '\tStatus:' + response.status + '\n';
msg += '\tResponseText:' + response.responseText;
alert(msg);
}
trader.sendMessage({request:request});
}
// -->
</script>
onError
名前付き引数
名称 | 説明 | 型 |
status | XMLHttpRequestオブジェクトのstatusプロパティ ※XMLHttpRequest仕様参照 | Number |
responseText | XMLHttpRequestオブジェクトのresponseTextプロパティ ※XMLHttpRequest仕様参照 | String |
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.onReceive = function (response) {
var msg = '- onReceive -\n\n';
msg += 'TraderSuccess:' + response.traderSuccess + '\n';
msg += 'TraderCode:' + response.traderCode + '\n';
msg += 'TraderStatus:' + response.traderStatus + '\n';
msg += 'Status:' + response.status + '\n';
msg += 'ResponseText:' + response.responseText;
alert(msg);
}
trader.onError = function (response) {
var msg = '- onError -\n\n';
msg += '\tStatus:' + response.status + '\n';
msg += '\tResponseText:' + response.responseText;
alert(msg);
}
trader.sendMessage({request:request});
}
// -->
</script>
statusが413(ペイロードが大きすぎる)の場合は、300mmを目安にリクエストを分割して再度sendMessageメソッドを実行してください。
例:300mm(2400ドット)
<StarWebPrint><bitImage x=576, y=2400> ... </bitImage></StarWebPrint>
timeout
StarWebPrintTraderの通信タイムアウト時間(ms)
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.timeout = 120000;
trader.sendMessage({request:request});
}
// -->
</script>
holdprint_timeout
StarWebPrintTraderの用紙抜き取り待ちタイムアウト時間(ms)
例
// -->
<script type='text/javascript' src='js/StarWebPrintTrader.js'></script>
<script type='text/javascript'>
<!--
function onSend(url, request) {
var trader = new StarWebPrintTrader({url:url});
trader.holdprint_timeout = 30000;
trader.sendMessage({request:request});
}
// -->
</script>