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