Step.2 印刷データの送信 : テンプレート印刷機能
Step1で生成したテンプレートとフィールドデータを組み合わせてテンプレート印刷を行います。
以下の手順を参考に、印刷データを送信してください。
ページ下部にサンプルコードがあります。
また、SDKのサンプルアプリも参考にしてください。
1プリンターの接続先情報を作ります。
通信に使用するinterfaceTypeと、接続先を指定するidentifierをセットしてください。
プリンターを検索するで接続先のプリンターを検索済みの場合、この実装は不要です。
手順2のprinter変数には、onPrinterFoundメソッドで取得した
StarPrinterインスタンスをセットしてください。
var settings = new StarConnectionSettings(); settings.interfaceType = InterfaceType.Lan; settings.identifier = “00:11:62:00:00:01”;
2プリンターの接続先情報を与えて、StarPrinterインスタンスを取得します。
var printer = new StarPrinter(settings);
3Step1で作ったテンプレートをtemplateプロパティ変数にセットします。
try { var template: string = ... printer.template = template;
Memo
印刷データの送信:標準機能ではStarXpandCommandBuilderで生成した印刷データをprintAsyncメソッドの引数に渡していましたが、テンプレート印刷を行う場合はtemplateプロパティにセットします。
4Step1で用意したフィールドデータをfieldData変数にセットします。
let fieldData = …
5openメソッドを呼び出し、プリンターに接続します。
await printer.open();
6printメソッドを呼び出し、プリンターにフィールドデータを送信します。 これにより、templateプロパティにセットされたテンプレートとフィールドデータを組み合わせてテンプレート印刷を行います。
await printer.print(fieldData);
7errorインスタンスの型によりエラーを判別し、エラー時の処理を実装します。 発生する可能性のあるエラーはStarPrinterクラスのopenメソッド、 printメソッドのAPIリファレンスに記載されています。
catch(error) { if (error instanceof StarIO10ArgumentError) { } else if (error instanceof StarIO10NotFoundError) { } }
8closeメソッドを呼び出し、プリンターとの接続を切断します。
await printer.close();
9disposeメソッドを呼び出し、printerインスタンスを破棄します。
await printer.dispose();
サンプルコード
var settings = new StarConnectionSettings();
settings.interfaceType = InterfaceType.Lan;
settings.identifier = “00:11:62:00:00:01”;
var printer = new StarPrinter(settings);
try {
// Set the print data created in Step 1 to the commands variable.
var template: string = ...
printer.template = template;
// Set the field data prepared in Step 1 to the fieldData variable.
var fieldData = …
await printer.open();
await printer.print(fieldData);
}
catch(error) {
if (error instanceof StarIO10ArgumentError) {
// Argument is not correct.
// This may be due to invalid template or field data.
}
else if (error instanceof StarIO10NotFoundError) {
// Printer not found.
// This may be due to the printer not being turned on or incorrect connection information.
}
console.log(`Error: ${String(error)}`);
}
finally {
await printer.close();
await printer.dispose();
}