3.1. Port
プリンターとの通信を行うためのクラスです。
プロパティ
名称
説明
用紙保持制御のタイムアウト時間を設定します。
コンストラクタ
名称
説明
Port オブジェクトを生成します。
メソッド
名称
説明
プリンターと通信するためのポートをオープンします。
プリンターと通信するためのポートをクローズします。
プリンターにデータを書き込みます。
プリンターからデータを読み込みます。
プリンターのステータスを取得します。
プリンターのオンライン状態を取得します。
印刷終了監視を開始します。
印刷終了監視を終了します。
プリンターのモデル名とファームウェアバージョンを取得します。
3.1.1. HoldPrintTimeout
added in version 1.7.0
用紙保持制御のタイムアウト時間を示します。(単位:ミリ秒)
宣言
public int HoldPrintTimeout { get; set; }
3.1.2. Port
Port オブジェクトを生成します。
宣言
public Port() public Port(Int32 timeout)
引数
名称
説明
型
timeout
タイムアウト引数付きメソッドの引数が省略された場合のデフォルトタイムアウト値引数省略時、デフォルトタイムアウト値は30000mSとなります。Int32
戻り値
説明
型
Port オブジェクト
3.1.3. ConnectAsync
プリンターと通信するためのポートをオープンします。
宣言
public IAsyncAction ConnectAsync(string portName, string portSettings) public IAsyncAction ConnectAsync(ProductInformation info, string portSettings)
引数
名称
説明
型
portName
プリンターと通信するためのポートを特定する文字列
string
info
FindAllAsync メソッドによって列挙された ProductInformation オブジェクト
portSettings
プリンターとの接続設定情報
string
戻り値
なし
エラーコード
値
説明
StarResultCode.ErrorFailed
何らかのエラーが発生したとき
StarResultCode.ErrorInUse
プリンターから接続拒否されたとき(他ホストが接続中など)
portName 引数
インターフェイス |
portName |
説明 |
例 |
ライブラリバージョン |
---|---|---|---|---|
Bluetooth | BT: | 最初に見つかったスタープリンタと通信します。
スタープリンタを1台のみペアリングして使用してください。
|
"BT:" | 1.1.0+ |
BT:Device Name | Bluetoothデバイス名で指定する場合 |
"BT:Star Micronics" | ||
BT:BD Address | Bluetoothデバイスアドレスで指定する場合 |
"BT:00:12:F3:1E:2B:72" | ||
Ethernet/Wireless LAN | TCP:IP Address | IPアドレスで指定する場合 |
"TCP:192.168.1.100" | 1.1.0+ |
portSetting 引数
portSettings文字列は、以下のフォーマットで指定してください。
各モデルで適用すべき識別子 + セミコロン(';')区切りのオプション指定文字列
各モデルで適用すべき識別子は下表のとおりです。
モデル
エミュレーション
識別子
mC-Print2 StarPRNT "" mC-Print3 StarPRNT "" mC-Label3 StarPRNT "" mPOP StarPRNT "" FVP10 StarLine "" TSP100IV StarPRNT "" TSP100IV SK StarPRNT "" TSP100IIIW StarGraphic "" TSP100IIIBI StarGraphic "" TSP100LAN StarGraphic "" TSP650II StarLine "" TSP650IISK StarLine "" TSP700II StarLine "" TSP800II StarLine "" SM-S210i StarPRNT "Portable" EscPosMobile "Portable;escpos" or "mini" SM-S220i StarPRNT "Portable" EscPosMobile "Portable;escpos" or "mini" SM-S230i StarPRNT "Portable" EscPosMobile "Portable;escpos" or "mini" SM-T300i/T300 StarPRNT "Portable" EscPosMobile "Portable;escpos" or "mini" SM-T400i StarPRNT "Portable" EscPosMobile "Portable;escpos" or "mini" BSC10II StarPRNT "" BSC10 EscPos "escpos" SM-L200 StarPRNT "Portable" SM-L300 StarPRNT "Portable" SP700 StarDotImpact "" オプション指定文字列は下表のとおりです。
インターフェイス
オプション指定文字列
説明
例
ライブラリバージョン
Bluetooth d[数値]
データタイムアウト機能のタイムアウト値設定を行います。
データタイムアウト機能をサポートするモデルで本オプションを指定しない場合は、データタイムアウト機能は有効で、タイムアウト値は3秒に設定されます。
タイムアウト時間の指定方法は、以下のとおりです。
[数値]に1から255を指定した場合:[数値]に指定した時間(単位:秒)
[数値]に0を指定した場合:データタイムアウトを無効にする
上記以外の場合:3秒
"d10" 1.1.0+ l[数値](Lの小文字)
接続のリトライをおこないます。
リトライ時間の指定方法は、以下のとおりです。
数値を指定しない場合("l"のみ): ConnectAsync メソッドで指定したtimeout時間
[数値]に0から300000を指定した場合:[数値]に指定した時間(単位:ミリ秒)
[数値]に300001以上の値を指定した場合:getPortメソッドで指定したtimeout時間
上記以外の場合:リトライしない設定となります
"l10000" 1.1.0+ Ethernet/Wireless LAN l[数値](Lの小文字)
対象のプリンターが他ホストから使用中の場合に接続をリトライします。
リトライ時間の指定方法は、以下のとおりです。
数値を指定しない場合("l"のみ): ConnectAsync メソッドで指定したtimeout時間
[数値]に0から300000を指定した場合:[数値]に指定した時間(単位:ミリ秒)
[数値]に300001以上の値を指定した場合: ConnectAsync メソッドで指定したtimeout時間
上記以外の場合:リトライしない設定となります
"l10000" 1.7.0+ データタイムアウト機能
データタイムアウト機能とは、印刷中に指定した時間プリンターに対してデータが送られなかった場合に、残りの印字データを無視する機能です。この機能により、データ送信中にBluetooth接続が切断された場合に、次回の印刷が不正な内容になることを防ぐことができます。このオプションをサポートするモデルは以下のとおりです。モデル
ファームウェアバージョン
mC-Print2
1.0+
mC-Print3
1.0+
mC-Label3
1.0+
mPOP
1.0+
FVP10
2.0+
TSP100IIIBI
1.0+
TSP650II
2.0+
TSP650IISK
1.0+
TSP700II
5.0+
TSP800II
2.0+
portSettingsの引数指定例
プリンター接続環境
指定すべきportSettings
TSP650IIをデフォルト設定で使用する
""
mC-Print3をEthernetインターフェイスで、リトライ有効で使用する
";l10000"
SM-L200をデフォルトで使用する
"Portable"
TSP650IIのBluetoothインターフェイスで、印刷中に10秒間データが送られなかった場合にデータキャンセル機能を動作させる
";d10"
usingステートメント,ConnectAsyncメソッド実行後すぐに、usingステートメント,ConnectAsyncメソッドを実行すると失敗する場合があります。usingステートメント,ConnectAsyncメソッド実行後、1秒以上の時間をおいてからusingステートメント,ConnectAsyncメソッドを実行してください。
3.1.4. Close
プリンターと通信するためのポートをクローズします。
宣言
Public void Close()
引数
なし
戻り値
なし
3.1.5. WriteAsync
プリンターにデータを書き込みます。
宣言
public IAsyncOperation<uint> WriteAsync(IBuffer buffer); public IAsyncOperation<uint> WriteAsync(IBuffer buffer, Int32 timeout);
引数
名称
説明
型
buffer
データが格納されたバッファー
IBuffer
timeout
データの書き込みに関するタイムアウト値引数が省略された場合、Portコンストラクタにより設定されたデフォルトタイムアウト値となります。Int32
戻り値
説明
型
書き込んだデータサイズ
uint
エラーコード
値
説明
StarResultCode.ErrorFailed
何らかのエラーが発生した
3.1.6. ReadAsync
プリンターからデータを読み込みます。 プリンターからRaw byteを読み込む必要がある場合のみ、本メソッドをご使用ください。
宣言
public IAsyncOperation<IBuffer> ReadAsync(); public IAsyncOperation<IBuffer> ReadAsync(Int32 timeout);
引数
名称
説明
型
timeout
データの読み込みに関するタイムアウト値
Int32
戻り値
説明
型
受信ストリームから読み込んだIBufferオブジェクト
IBuffer
エラーコード
値
説明
StarResultCode.ErrorFailed
何らかのエラーが発生した
3.1.7. GetParsedStatusAsync
プリンターのステータスを取得します。
宣言
public IAsyncOperation<Status> GetParsedStatusAsync(); public IAsyncOperation<Status> GetParsedStatusAsync(Int32 timeout);
引数
名称
説明
型
timeout
現在のプリンターステータス取得に関するタイムアウト値
Int32
戻り値
エラーコード
値
説明
StarResultCode.ErrorFailed
何らかのエラーが発生した
3.1.8. GetOnlineStatusAsync
プリンターのオンライン状態を取得します。
宣言
public IAsyncOperation<bool> GetOnlineStatusAsync(); public IAsyncOperation<bool> GetOnlineStatusAsync(Int32 timeout);
引数
名称
説明
型
timeout
プリンターのオンライン状態取得に関するタイムアウト値
Int32
戻り値
説明
型
プリンターのオンライン状態true ... オンラインfalse ... オフラインbool
エラーコード
値
説明
StarResultCode.ErrorFailed
何らかのエラーが発生した
3.1.9. BeginCheckedBlockAsync
EndCheckedBlockAsync メソッドとセットで使用し、印刷終了を監視します。
最後まで正しく印刷されたか確認したい場合、印刷データ送信の直前に本メソッドを、 印刷データ送信の直後に EndCheckedBlockAsync メソッドをそれぞれ実行します。
用紙保持制御を行う場合、本メソッドは用紙が抜き取られるまでブロックし、抜き取られると制御を返します。 HoldPrintTimeout で指定したタイムアウト時間内に用紙が抜き取られない場合、エラーとなります。
宣言
public IAsyncOperation<Status> BeginCheckedBlockAsync(); public IAsyncOperation<Status> BeginCheckedBlockAsync(Int32 timeout);
引数
名称
説明
型
timeout
印刷終了監視の開始に関するタイムアウト値
Int32
戻り値
エラーコード
値
説明
ライブラリバージョン
StarResultCode.ErrorPaperPresent
用紙保持制御のタイムアウトが発生した
1.7.0+
StarResultCode.ErrorFailed
何らかのエラーが発生した
1.1.0+
実装例
BeginCheckedBlockAsync / EndCheckedBlockAsync による印刷終了監視処理の手順は、StarIOPort_PrintingFlow を参照ください。
3.1.10. EndCheckedBlockAsync
BeginCheckedBlockAsync メソッドとセットで使用し、印刷終了の監視を行います。
プリンターの状態を監視し、送信した印刷データの印刷が正常に完了する、印刷途中にプリンターの状態がオフラインになる、 EndCheckedBlockAsync で指定したタイムアウトが経過しエラーが発生すると、 制御を返します。印刷データ以外を送信した場合は、そのコマンドがプリンターで処理されると制御を返します。
宣言
public IAsyncOperation<Status> EndCheckedBlockAsync(); public IAsyncOperation<Status> EndCheckedBlockAsync(Int32 timeout);
引数
名称
説明
型
timeout
印刷終了監視の終了に関するタイムアウト値
Int32
戻り値
エラーコード
値
説明
StarResultCode.ErrorFailed
何らかのエラーが発生した
実装例
BeginCheckedBlockAsync / EndCheckedBlockAsync による印刷終了監視処理の手順は、StarIOPort_PrintingFlow を参照ください。
3.1.11. GetFirmwareInformationAsync
プリンターのモデル名とファームウェアバージョンを取得します。
宣言
public IAsyncOperation<FirmwareInformation> GetFirmwareInformationAsync(); public IAsyncOperation<FirmwareInformation> GetFirmwareInformationAsync(Int32 timeout);
引数
名称
説明
型
timeout
ファームウェア情報取得に関するタイムアウト値
Int32
戻り値
説明
型
FirmwareInformation オブジェクト
エラーコード
値
説明
StarResultCode.ErrorFailed
何らかのエラーが発生した