印刷データを送信する
両SDKの違いを確認しStarXpand SDKへの移行を行ってください。
StarPRNT SDK
プリンターへの接続と印刷は、以下の流れとなります。
- 1. SMPort.getPort()を使用し、プリンターに接続します。
- 2. SMPort.beginCheckedBlock()メソッドを使用し、プリンターの状態確認と印刷の事前準備を行います。
- 3. 印刷データを作成します。
詳しくは、印刷データを作成するを参照ください。 - 4. SMPort.write()メソッドを使用し、印刷データをプリンターに送信します。
- 5. 送信したデータサイズnumberOfBytesWrittenを確認します。
すべてのデータを送り切れていない場合は、SMPort.write()に残りのデータを渡して再度送信します。
すべてのデータを送り切れている場合は、手順6.に進みます。 - 6. SMPort.endCheckedBlock()メソッドを使用し、プリンターの印刷完了を確認します。
- 7. SMPort.releasePort()メソッドを使用し、プリンターとの接続を切断します。
StarXpand SDK
- 1. 印刷データを作成します。
詳しくは、印刷データを作成するを参照ください。 - 2. StarPrinter.open()メソッドを使用し、プリンターに接続します。
- 3. StarPrinter.print(command:)メソッドの引数に印刷データを指定し、印刷を実行します。
- 4. StarPrinter.close()メソッドを使用し、プリンターとの接続を切断します。
両SDKの比較
| StarPRNT SDK | StarXpand SDK | |
|---|---|---|
| 非同期API | 非対応 | 対応 |
| 印刷データ送信/状態確認 [1] |
手動 beginCheckedBlock()、write()、endCheckedBlock() |
自動 StarPrinter.print(command:) |
| スプーラー機能 | 非対応 | 対応 |
| 分割送信/再送 [2] | 手動で再送 | 自動で再送 |
[1] StarPRNT SDKではSMPortクラスのbeginCheckedBlock()、write()、endCheckedBlock()を使用して、印刷データ送信と送信前後の状態を確認する必要があります。StarXpand SDKでは、StarPrinter.print(command:)メソッドがそれらを自動で実行します。
[2] StarPRNT SDKではSMPort.write()で送信できたデータサイズを確認し、未送信分を手動で再送する必要があります。
StarXpand SDKではStarPrinter.print(command:)が、再送処理を自動で行います。
処理の流れ (シーケンス図)
両SDKの処理の流れは、以下の図を参照ください。
各APIのStarPRNT SDKとStarXpand SDKへの対応状況は、対応API一覧をご確認ください。
両SDKの違いを確認しStarXpand SDKへの移行を行ってください。
StarPRNT SDK
プリンターへの接続と印刷は、以下の流れとなります。
- 1. StarIOPort.getPort()を使用し、プリンターに接続します。
- 2. StarIOPort.beginCheckedBlock()メソッドを使用し、プリンターの状態確認と印刷の事前準備を行います。
- 3. 印刷データを作成します。
詳しくは、印刷データを作成するを参照ください。 - 4. StarIOPort.writePort()メソッドを使用し、印刷データをプリンターに送信します。
- 5. StarIOPort.endCheckedBlock()メソッドを使用し、プリンターの印刷完了を確認します。
- 6. StarIOPort.releasePort()メソッドを使用し、プリンターとの接続を切断します。
StarXpand SDK
- 1. 印刷データを作成します。
詳しくは、印刷データを作成するを参照ください。 - 2. StarPrinter.openAsync()メソッドを使用し、プリンターに接続します。
- 3. StarPrinter.printAsync(command)メソッドの引数に印刷データを指定し、印刷を実行します。
- 4. StarPrinter.closeAsync()メソッドを使用し、プリンターとの接続を切断します。
両SDKの比較
| StarPRNT SDK | StarXpand SDK | |
|---|---|---|
| 非同期API | 非対応 | 対応 |
| 印刷データ送信/状態確認 [1] |
手動 beginCheckedBlock()、endCheckedBlock() |
自動 StarPrinter.printAsync(command) |
| スプーラー機能 | 非対応 | 対応 |
| 分割送信/再送 [2] | 手動で再送 | 自動で再送 |
[1] StarPRNT SDKではStarIOPortクラスのbeginCheckedBlock()、write()、endCheckedBlock()を使用して、印刷データ送信と送信前後の状態を確認する必要があります。StarXpand SDKでは、StarPrinter.printAsync(command)メソッドがそれらを自動で実行します。
[2] StarPRNT SDKではStarIOPort.writePort()で送信できたデータサイズを確認し、未送信分を手動で再送する必要があります。
StarXpand SDKではStarPrinter.printAsync(command)メソッドが、再送処理を自動で行います。
処理の流れ (シーケンス図)
両SDKの処理の流れは、以下の図を参照ください。
各APIのStarPRNT SDKとStarXpand SDKへの対応状況は、対応API一覧をご確認ください。

