3. データ仕様

PassPRNTコンセプトを実現するために、アプリ連携にはOS標準のURIスキーム(パスとクエリを含む)を用います。

本手法を用いることで、上位アプリとのデータ受け渡しが可能となります。個々の仕様に関しては、以下を参照してください。

警告

Windowsは最大2Kバイト(デバイスや他アプリのメモリ使用状況によってこの値は少なくなる)とされています。

アプリ間連携で上位側から渡すデータ(特にクエリ"html"の印刷レイアウトデータ)は、できる限り少なくしてください。

なお、使用可能サイズ(2Kバイト)を超えるデータを上位アプリから送ると、PassPRNTが正常に動作しない場合があります。

3.1. URLスキーム

本アプリのURIスキームは、以下とします。

starpassprnt

上位アプリで、本スキームを含むURLを呼び出すと、OSが自動でPassPRNTにスイッチさせます。スイッチ後の動作は、次項のパス設定に依存するので、双方を正確に設定する必要があります。上位アプリからの呼び出し方は、各SDK内の記載を参照してください。

Javascriptで呼び出す場合は、下記となります。

var passprnt_uri;

function createURI() {
      passprnt_uri = "starpassprnt://v1/print/nopreview?";

      passprnt_uri = passprnt_uri + "back=" + encodeURIComponent(window.location.href);

      passprnt_uri = passprnt_uri + "&html=" + encodeURIComponent("<html><head>...</body></html>");

      var target = document.getElementById("print");
      target.href = passprnt_uri;
}
<html>
      <head></head>
      <body>
         <a href="#" id="print">PRINT</a>
      </body>
</html>

C#で呼び出す場合は、下記となります。

var uri = new Uri(urlScheme);
var options = new LauncherOptions()
{
   TreatAsUntrusted = false
};

// Launch the URI.
bool success = await Launcher.LaunchUriAsync(uri, options, valueSet);
if (success)
{
}
else
{
}

なお、URLスキーム設定における大文字小文字は区別されませんが、小文字での設定を推奨します。

3.2. パス

URLスキームに続くパスには下記ルールに基づき定義します。

URLバージョン/メイン処理/サブ処理

URLバージョン

URLパスのバージョン(内部処理を切替える)

メイン処理

PassPRNT内部でのメイン処理(機能)を宣言

サブ処理

上記メイン処理から派生しうるサブ処理(機能)を宣言

上記から「URLバージョン」を定義して旧バージョンの機能保存と新バージョンの機能拡張性を目指し、柔軟性を確保します。「メイン処理」では、「印刷」だけでなく「設定」や「登録」など主機能を細分化して設定することとし、機能追加を容易にするとともに上位アプリからの呼び出し時の可読性を向上します。「サブ処理」もメイン処理同様に機能の細分化を実施します。

なお、今回対応するパス設定は、以下とします。

v1/print/nopreview

意味は、「URLバージョン1で、印刷機能のプレビュー無効設定でアプリ動作」となります。このパスを処理した結果、前述の【画面仕様>"印字中"】画面が表示されます。これ以外のパスが定義されていた場合には、エラーとなります。

なお、パス設定における大文字小文字は区別されませんが、小文字での設定を推奨します。

3.3. クエリ

PassPRNTと上位アプリ間で受け渡されるデータはクエリパラメータとして扱われます。変数名と値は、"="で表わされ、クエリの先頭には必ず"?"を記載してパスとの境界にします。パラメータは"&"で複数連結でき、その順序に制限はありません。パラメータ設定に関しては、以下を参照してください。

なお、クエリ変数名の大文字小文字は区別されませんが、小文字での設定を推奨します。

クエリ一覧

変数名

名称

port

プリンター設定(PortName)

settings

プリンター設定(PrinterのType)

timeout

プリンター設定(タイムアウト)

size

印刷幅

drawer

ドロアー駆動指示

drawerpulse

ドロアー駆動時間

buzzer

ブザー鳴動指示

buzzerchannel

ブザーチャンネル

buzzerrepeat

ブザー鳴動回数

buzzerdrivetime

ブザー鳴動時間

buzzerdelaytime

ブザー休止時間

sound

メロディースピーカー駆動指示

soundstoragearea

メロディースピーカーで再生するサウンドの格納領域

soundnumber

メロディースピーカーで再生するサウンドの番号

soundvolume

メロディースピーカーのボリューム

back

コールバックURLスキーム

blackmark

ブラックマーク設定(有効/無効)

bmposition

ブラックマーク設定(センサ位置)1

gap

ギャップ設定(有効/無効)

cut

用紙カット方法

popup

エラー検知のポップアップ設定(有効/無効)

html

HTMLフォーマット印刷レイアウトデータ

url

印刷レイアウトデータURL

1

PassPRNT Ver.2.1より廃止されました。

クエリを含むURLスキーム例

starpassprnt://v1/print/nopreview?html=<Print Data>&size=3&drawer=ahead&back=<Callback URL>

3.3.1. port

名称

プリンター設定(PortName)

変数名

port

変数値

StarIOのportNameに準拠したデータ

初期値

「プリンタ設定」画面の"Printer:"設定

条件

任意、RFC3986準拠のURLエンコード必須

説明

StarIOのportName仕様に準拠します。
未設定の場合「プリンタ設定 > Printer」の設定値を用いて判断します。
ここも未設定の場合は bt: として、settings設定値と組合せてStarIOが最初に見つけたプリンターと通信を試みます。

エラー

-

3.3.2. settings

名称

プリンター設定(タイプ)

変数名

settings

変数値

StarIOのportSettingsに準拠したデータ

初期値

「プリンタ設定」で選択されたプリンターモデルから判定

条件

任意、RFC3986準拠のURLエンコード必須

説明

StarIOのportSettings仕様に準拠します。
通信するプリンターに応じて設定します。
設定値は ハードウェア構成 をご確認ください。
未設定の場合「プリンタ設定」で選択されたプリンターのモデルに応じ、自動判定します。
「プリンタ設定」も未設定の場合は空欄 "" として、port設定値と組合せてStarIOが最初に見つけたプリンターと通信を試みます。

エラー

-

3.3.3. timeout

名称

プリンター設定(タイムアウト)

変数名

timeout

変数値

StarIOのtimeoutに準拠したデータ

初期値

10秒 (* モバイルプリンターの場合 : 20秒)

条件

任意

説明

StarIOのtimeout仕様に準拠します。
StarIO内部のgetPort、begin/endCheckedBlockなどのプリンターからステータスの変化を取得するまでのタイムアウト値として用います。
未設定もしくは範囲外が指定された場合は、初期値が設定されます。

エラー

-

3.3.4. size

名称

印刷幅

変数名

size

変数値

122w12w22w32w42w52w62w733w3w24のいずれかの値

初期値

3

条件

任意

説明

印刷する用紙幅を規定します。
本パラメータをもとに、印刷イメージの描画サイズを調整します。未設定もしくは範囲外が指定された場合は、 3 (インチ)として判断します。
各変数に対応する印字サイズは下記となります。
プリンター側の印字領域設定は、各プリンターのメモリスイッチ4仕様、もしくはStar Configurationの print_width キー仕様をご参照ください。

エラー

-

各変数に対応する印字サイズ ( 単位:dot (mm)

size

1

2

2w1

2w2

2w3

2w4

2w5

2w6

2w7

3

3w

3w2

4

TSP650II

-

406
(50.8)

-

-

-

-

-

-

-

576
(72)

-

-

-

TSP700II

-

406
(50.8)
416
(52)
420
(52.5)

-

-

-

-

-

576
(72)
640
(80)

-

-

TSP800II

-

-

-

-

-

-

-

-

-

576
(72)

-

-

832
(104)

FVP10

-

406
(50.8)
416
(52)
420
(52.5)

-

-

-

-

-

576
(72)

-

-

-

BSC10

-

406
(50.8)

-

-

360
(45)

-

-

-

-

576
(72)

-

512
(64)

-

TSP100IIIB

-

406
(50.8)

-

-

-

-

-

-

-

576
(72)

-

-

-

TSP100IIIW

-

406
(50.8)

-

-

-

-

-

-

-

576
(72)

-

-

-

TSP100IIILAN

-

406
(50.8)

-

-

-

-

-

-

-

576
(72)

-

-

-

TSP100IV

-

406
(50.8)

-

-

-

384
(48)

-

-

-

576
(72)

-

-

-

TSP100IV SK

-

406
(50.8)

-

-

-

384
(48)
256
(32)
276
(34.5)
408
(51)
576
(72)

-

-

-

SM-S210i

-

384
(48)

-

-

-

-

-

-

-

-

-

-

-

SM-S230i

-

384
(48)

-

-

-

-

-

-

-

-

-

-

-

SM-L200

-

384
(48)

-

-

-

-

-

-

-

-

-

-

-

SM-T300i

-

-

-

-

-

-

-

-

-

576
(72)

-

-

-

SM-L300

-

-

-

-

-

-

-

-

-

576
(72)

-

-

-

SM-T400i

-

-

-

-

-

-

-

-

-

-

-

-

832
(104)

mPOP

-

384
(48)
432
(54)
406
(50.8)

-

-

-

-

-

-

-

-

-

mC-Print2

-

384
(48)
432
(54)
406
(50.8)

-

-

-

-

-

-

-

-

-

mC-Print3

-

384
(48)

-

406
(50.8)

-

-

-

-

-

576
(72)

-

-

-

mC-Label3

144
(18)
384
(48)

-

406
(50.8)

-

-

256
(32)
276
(34.5)
408
(51)
576
(72)

-

-

-

BSC10II

-

384
(48)

-

406
(50.8)

-

-

-

-

408
(51)
576
(72)

-

-

-

3.3.5. drawer

名称

ドロアー駆動指示

変数名

drawer

変数値

off、ahead、after のいずれかの値
off ... ドロアー不使用
ahead ... 印字前のオープン
after ... 印字後のオープン

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の設定値

条件

任意

説明

ドロアー駆動を指示します。
本パラメータをもとに、印刷時のドロアー駆動を判断します。
本パラメータと"buzzer", "sound"パラメータを同時に指定された場合、既定の優先順位 2 に従います。
いずれも未設定の場合、もしくは範囲外の値を指定された場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の設定を使用します。

"html"/"pdf"/"url"クエリが未設定でも、ドロアーだけ駆動する(印刷なし)シナリオを許容します。
印字(前)設定かつプリンターがオフラインの場合、オンライン復帰後にドロアーが開き印刷を開始します(mPOPを除く)。
なお、モバイルプリンター選択時は無視されます。

エラー

-

警告

ドロアー以外を接続して本パラメーターを使用しないでください。正常動作しない場合や、プリンターおよび外部機器本体が破損する恐れがあります。

3.3.6. drawerpulse

名称

ドロアー駆動時間

変数名

drawerpulse

変数値

200、500のいずれかの値
200 ... 200msの間、ドロアーを駆動させる。
500 ... 500msの間、ドロアーを駆動させる。

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「パルス幅」設定値

条件

任意

説明

ドロアー駆動時間を設定します。
200以下の整数値を指定した場合は200ms、 500より大きい整数値を指定した場合は500msの間、それぞれドロアーを駆動させます。
本パラメータが未設定の場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の 「パルス幅」設定値を使用します。
無効な値が指定された場合は、200を使用します。
なお、モバイルプリンター選択時は無視されます。

エラー

-

3.3.7. buzzer

名称

ブザー鳴動指示

変数名

buzzer

変数値

off、ahead、after のいずれかの値
off ... ブザー不使用
ahead ... 印字前のオープン
after ... 印字後のオープン

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「タイミング」設定値

条件

任意

説明

ブザー鳴動の有効/無効と、その実行タイミングを指示します。
本パラメータと"drawer", "sound"パラメータを同時に指定された場合、既定の優先順位 2 に従います。
いずれも未設定の場合、もしくは範囲外の値を指定された場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の設定を使用します。

"html"/"pdf"/"url"クエリが未設定でも、ブザーだけ鳴動する(印刷なし)シナリオを許容します。
印字(前)設定かつプリンターがオフラインの場合、オンライン復帰後にドロアーが開き印刷を開始します。
なお、モバイルプリンター選択時は無視されます。

エラー

-

警告

ブザー以外を接続して本パラメーターを使用しないでください。正常動作しない場合や、プリンターおよび外部機器本体が破損する恐れがあります。

3.3.8. buzzerchannel

名称

ブザーチャンネル

変数名

buzzerchannel

変数値

channel1、channel2のいずれかの値
channel1 ... チャンネル1
channel2 ... チャンネル2

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「チャンネル」設定値

条件

任意

説明

ブザーのチャンネルを設定します。
本パラメータが未設定の場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の「チャンネル」設定値を用います。
無効な値が指定された場合は、channel1 を用います。
なお、モバイルプリンター選択時は無視されます。

エラー

-

3.3.9. buzzerrepeat

名称

ブザー鳴動回数

変数名

buzzerrepeat

変数値

1 - 20

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「鳴動回数」設定値

条件

任意

説明

ブザーの鳴動回数を設定します。
本パラメータが未設定の場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の「鳴動回数」設定値を使用します。
無効な値が指定された場合は、1 を使用します。
なお、モバイルプリンター選択時は無視されます。

エラー

-

3.3.10. buzzerdrivetime

名称

ブザー鳴動時間

変数名

buzzerdrivetime

変数値

0 - 5100 (単位 [ms])

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「鳴動時間」設定値

条件

任意

説明

ブザーの鳴動時間を設定します。
0 以下の整数値を指定した場合は0ms、 5100より大きい整数値を指定した場合は5100msの間、ブザーを鳴動させます。

本パラメータが未設定の場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の「鳴動時間」設定値を使用します。
本パラメータに無効な値が指定された場合は、 200 を使用します。
なお、モバイルプリンター選択時は無視されます。

エラー

-

3.3.11. buzzerdelaytime

名称

ブザー休止時間

変数名

buzzerdelaytime

変数値

0 - 5100 (単位 [ms])

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「休止時間」設定値

条件

任意

説明

ブザーの休止時間を設定します。
0 以下の整数値を指定した場合は0ms、 5100 より大きい整数値を指定した場合は5100msの間、それぞれブザーを休止させます。

本パラメータが未設定の場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の「休止時間」設定値を用います。
無効な値が指定された場合は、 200 を使用します。
なお、モバイルプリンター選択時は無視されます。

エラー

-

3.3.12. sound

名称

メロディースピーカー再生指示

変数名

sound

変数値

off、ahead、after のいずれかの値
off ... メロディースピーカー不使用
ahead ... 印字前のオープン
after ... 印字後のオープン

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「タイミング」設定値

条件

任意

説明

メロディースピーカーからのサウンド再生を指定します。
本パラメータをもとに、印刷時のメロディースピーカーを判断します。
本パラメータと"buzzer", "sound"パラメータを同時に指定された場合、既定の優先順位 2 に従います。
いずれも未設定の場合、もしくは範囲外の値を指定された場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の設定を使用します。

"html"/"pdf"/"url"クエリが未設定でも、メロディースピーカー再生のみを行う(印刷なし)シナリオを許容します。
印字(前)設定かつプリンターがオフラインの場合、オンライン復帰後にメロディースピーカーからサウンド再生され、印刷を開始します。
なお、モバイルプリンター選択時は無視されます。

エラー

-

警告

メロディースピーカー以外を接続して本パラメーターを使用しないでください。正常動作しない場合や、プリンターおよび外部機器本体が破損する恐れがあります。

3.3.13. soundstoragearea

名称

メロディースピーカーで再生するサウンドの格納領域

変数名

soundstoragearea

変数値

area1、area2のいずれかの値
area1 ... area1
area2 ... area2

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「格納領域」設定値

条件

任意

説明

メロディースピーカーで再生する際のサウンドの格納エリアを設定します。
本パラメータをクエリで設定する場合、必ず "soundnumber"パラメータと同時に指定する必要があります。

本パラメータが未指定の場合、「プリンタ設定 > 外部機器 (ドロアー等)」の「格納領域」設定値を使用します。
無効な値が指定された場合 もしくは "soundnumber"が指定されなかった場合は、メロディースピーカー本体のDIPスイッチ設定が使用されます。
なお、モバイルプリンター選択時は無視されます。

エラー

-

3.3.14. soundnumber

名称

メロディースピーカーで再生するサウンドの番号

変数名

soundnumber

変数値

1 - 7

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「サウンド番号」設定値

条件

任意

説明

メロディースピーカーで再生するサウンドの番号を設定します。
本パラメータをクエリで設定する場合、必ず "soundstoragearea" パラメータと同時に指定する必要があります。

本パラメータが指定されなかった場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の「サウンド番号」設定値を使用します。
無効な値が指定された場合 もしくは "soundstoragearea"が指定されなかった場合 、メロディースピーカー本体のDIPスイッチ設定が使用されます。
なお、モバイルプリンター選択時は無視されます。

エラー

-

3.3.15. soundvolume

名称

メロディースピーカーのボリューム

変数名

soundvolume

変数値

0 - 15

初期値

「プリンタ設定 > 外部機器 (ドロアー等)」の「ボリューム」設定値

条件

任意

説明

メロディースピーカーの再生ボリュームを設定します。
0 以下の整数値を指定した場合はボリューム 0(無音)、 15 より大きい整数値を指定した場合はボリューム 15 として動作します。

本パラメータが指定されなかった場合は、「プリンタ設定 > 外部機器 (ドロアー等)」の「ボリューム」設定値が使用されます。
無効な値が指定された場合は、メロディースピーカー本体のDIPスイッチ設定が使用されます。
なお、モバイルプリンター選択時は無視されます。

エラー

-

注釈

2

ドロアー、ブザー、メロディースピーカーは、複数指定することができません。複数指定された場合、以下の優先順位に従って使用するパラメータが決定されます。

優先順位

パラメータ

1

"drawer"パラメータ

2

"buzzer"パラメータ

3

"sound"パラメータ

4

プリンタ設定 > 外部機器 (ドロアー等)」の設定値

3.3.16. back

名称

コールバックURLスキーム

変数名

back

変数値

コールバックするアプリのURLスキーム

初期値

-

条件

必須、RFC3986準拠のURLエンコード必須

説明

印刷終了後に指定されたアプリにコールバックする(戻る)ために用います。
コールバック時に、印刷結果のエラーコードとメッセージがクエリとして付与されます。
詳細は後述を参照してください。

エラー

パラメータ未設定の場合のエラー
コード:2
文字列:ERROR_INVALID_CALLBACK_DATA
メッセージ:コールバックパラメータが設定されていません

3.3.17. blackmark

名称

ブラックマーク設定(有効/無効)

変数名

blackmark

変数値

disable、enable、enableAndDetectAtPowerOnのいずれかの値
disable ... ブラックマーク設定を無効にします。
enable ... ブラックマーク設定を有効にします。
enableAndDetectAtPowerOn ... ブラックマーク設定を有効にします。さらに電源投入後の印刷時に、ブラックマーク位置を検出して印刷します。

初期値

-

条件

任意

説明

印刷開始直前に本パラメータをもとにブラックマーク設定を行います。
未設定もしくは範囲外が設定されていた場合、本クエリは無視され直前の設定を継続します。
本クエリはTSP700II、TSP800II、FVP10、mC-Label3のみ対応します。左記機種以外では、本設定はすべて無視されます。
本設定はプリンターの電源OFFでクリアされるため、上位アプリは適宜設定する必要があります。
本パラメータを "gap" パラメータと同時に使用しないでください。
ブラックマークの検出に失敗した場合には、エラー(1)が発行されます。

エラー(1)

ブラックマーク検出失敗の場合のエラー
コード:13
文字列:ERROR_BLACKMARK_DETECTION
メッセージ:用紙区切りを検出できませんでした
ブラックマーク対応機種

ブラックマーク対応機種

TSP700II、TSP800II、FVP10、mC-Label3

ブラックマーク対応機種
(メモリスイッチで設定 3

SM-S210i/S230i、SM-T300i/T300DB/T400i、SM-L200/L300

ブラックマーク未対応機種

TSP650II、TSP100IIIBI/W/LAN/U、TSP100IV、TSP100IV SK、mPOP、mC-Print2、mC-Print3、BSC10、BSC10II

3

PassPRNT Ver.2.1より、モバイルプリンターのブラックマーク設定はメモリスイッチにて行います。設定方法については、各製品のハードウェアマニュアルをご覧ください。

3.3.18. bmposition

PassPRNT Ver.2.1より、モバイルプリンター4のブラックマーク設定はプリンターのメモリスイッチで設定することになりました。

従いまして、PassPRNT Ver.2.1より本クエリを設定いただいても無効となります。

メモリスイッチでのブラックマーク設定につきましては、各製品のハードウェアマニュアルをご覧ください。

4

対象機種:SM-S210i / S230i、SM-T300i / T400i、SM-L200 / L300

3.3.19. gap

名称

ダイカットラベル紙等のギャップ検出設定(有効/無効)

変数名

gap

変数値

disable、enable、enableAndDetectAtPowerOnのいずれかの値
disable ... ギャップ検出を無効にします。
enable ... ギャップ検出を有効にします。
enableAndDetectAtPowerOn ... ギャップ検出を有効にします。さらに電源投入後の印刷時に、ギャップ位置を検出して印刷します。

初期値

-

条件

任意

説明

印刷開始直前に本パラメータをもとにダイカットラベル紙等のギャップ検出設定を行います。
未設定もしくは範囲外が設定されていた場合、本クエリは無視され直前の設定を継続します。
本クエリはmC-Label3のみ対応します。左記機種以外では、本設定はすべて無視されます。
本設定はプリンターの電源オフでクリアされるため、上位アプリは適宜設定する必要があります。
本パラメータを "blackmark" パラメータと同時に使用しないでください。
ギャップの検出に失敗した場合には、エラー(1)が発行されます。

エラー(1)

ギャップ検出失敗の場合のエラー
コード:13
文字列:ERROR_BLACKMARK_DETECTION
メッセージ:用紙区切りを検出できませんでした
ギャップ検出設定対応機種

ギャップ検出対応機種

mC-Label3

ギャップ検出未対応機種

TSP650II、TSP700II、TSP800II、FVP10、TSP100IIIBI/W/LAN/U、TSP100IV、TSP100IV SK、mPOP、mC-Print2、mC-Print3、BSC10、BSC10II、SM-S210i/S230i、SM-T300i/T300DB/T400i、SM-L200/L300

3.3.20. cut

名称

用紙カット方法

変数名

cut

変数値

partial、full、tearbar、nocutのいずれかの値
partial ... 紙送り後、用紙をパーシャル(中央一点残し)カットします。
full ... 紙送り後、用紙をフルカットします。
tearbar ... ティアバー位置まで紙送りします。
nocut ... 印刷終了後に紙送りもカットもしません。

初期値

partial

条件

任意

説明

印刷終了後の用紙カット方法を設定します。
本パラメータが未設定、あるいは範囲外の値が指定された場合は、「プリンタ設定 > Cut」の設定値を用います。
下記プリンターでは、一部非対応のパラメータがあります。
* TSP650II / TSP100IIIシリーズ / TSP100IV / TSP100IV SK / mC-Print3 / BSC10II
full を設定した場合でも、パーシャルカットとなります。
* BSC10
full / tearbar を設定した場合でも、パーシャルカットとなります。
* モバイルプリンター
partial / full を設定した場合でも、ティアバー位置までの紙送りとなります。

エラー

-

3.3.22. html

名称

HTMLフォーマット印刷レイアウトデータ

変数名

html

変数値

html5の仕様に則って記述されたデータ

初期値

-

条件

必須(*1、*2)、RFC3986準拠のURLエンコード必須
*1 例外として、 drawer=ahead もしくは drawer=after が同時に設定されているときのみ未設定でも動作します(ドロアーのみOPEN想定)。
*2 印刷データ用クエリ"url"もしくは本クエリいずれか一つのみを設定してください。

説明

htmlベースで記述されたデータをPassPRNTが受け取ると、印刷イメージを内部でデザイン化して、さらにRasterDataに変換します。その結果、スタープリンターで印刷可能なコマンド体系に変換されます。
レイアウトデータの最大長は1メートル(8000px)までとし、超過した場合にはエラー(1)が発行されます。
本パラメータもしくは"url"のいずれかは必須項目であり、未設定の場合にはエラー(2)が発行されます。

注意事項
Windows OSのURI Scheme制限上、最大2KB(デバイスや他アプリのメモリ使用状況によってこの値は少なくなる)とされています。
アプリ間連携で上位側から渡すデータ(特にクエリ"html"の印刷レイアウトデータ)はできる限り少なくしてください。
なお、使用可能サイズを超えるデータを上位アプリから送ると、PassPRNTが正常に動作しない場合があります。

エラー(1)

最大印字長を超過した場合のエラー
コード:3
文字列:ERROR_INVALID_DATA_LENGTH
メッセージ:印刷データが上限を超えています

エラー(2)

パラメータ未設定の場合のエラー
コード:9
文字列:ERROR_INVALID_RECEIPT_DATA
メッセージ:印字データが設定されていません

重要

印刷レイアウトデータに連続した数字が含まれている場合、意図せず、アンダーライン(電話番号への自動リンク機能)が追加される場合があります。この事象を回避するためには以下構文を追加して電話番号への自動リンク機能を無効にしてください。

<meta name="format-detection" content="telephone=no">

3.3.23. pdf

警告

UWP版は非対応です。

3.3.24. url

名称

印刷レイアウトデータURL

変数名

url

変数値

印刷レイアウトデータのURL

初期値

-

条件

必須(*1、*2)、RFC3986準拠のURLエンコード必須
*1 例外として、 drawer=ahead もしくは drawer=after が同時に設定されているときのみ未設定でも動作します(ドロアーのみOPEN想定)。
*2 印刷データ用クエリ"html"もしくは本クエリいずれか一つのみを設定してください。

説明

印刷したいHTMLあるいはPDFのURLを指定します。
PassPRNTは指定したURLのデータをダウンロードし、印刷イメージを内部でデザイン化して、更にRasterDataに変換します。その結果、スタープリンターで印刷可能なコマンド体系に変換されます。
レイアウトデータの最大長は1メートル(8000px)までとし、超過した場合にはエラー(1)が発行されます。
本パラメータもしくは"html"のいずれかは必須項目であり、未設定の場合にはエラー(2)が発行されます。
指定したURLのデータが、文字コードUTF-8のHTMLかPDFではない場合、エラー(3)が発行されます。
データのダウンロードに失敗した場合、エラー(4)が発行されます。

エラー(1)

最大印字長を超過した場合のエラー
コード:3
文字列:ERROR_INVALID_DATA_LENGTH
メッセージ:印刷データが上限を超えています

エラー(2)

パラメータ未設定の場合のエラー
コード:9
文字列:ERROR_INVALID_RECEIPT_DATA
メッセージ:印字データが設定されていません

エラー(3)

対象外ファイルフォーマット設定の場合のエラー
コード:14
文字列:ERROR_NONSUPPORTED_FILEFORMAT
メッセージ:非対応のファイルフォーマットです

エラー(4)

データのダウンロードに失敗した場合のエラー
コード:16
文字列:ERROR_FAILED_TO_DOWNLOAD
メッセージ:データの取得に失敗しました

3.4. エラーコード

PassPRNTでの印刷処理中に発生するエラーに関して、そのコードとメッセージを下記通り定義します。コードとメッセージは、PassPRNTからコールバックする際に、クエリに付与されるため、上位アプリはこの値を参照して、印刷成否判定をすることができます。失敗した原因も知ることができます。エラーコードの変数名は"passprnt_code"、エラーメッセージの変数名は"passprnt_message"とします。

なお、コールバック時に付与するエラーコードとメッセージは最終結果のみです。例えば、初回印刷中に紙なしエラーとなったが、再印字を選択して成功した場合、『成功』の判定のみ通知されます。

コールバックURLスキームにエラーコードを付与する例を以下に記載します。

sampleapp://action?passprnt_code=0&passprnt_message=SUCCESS
エラー一覧

コード

文字列

メッセージ

エラーコード:0

0

SUCCESS

成功しました

エラーコード:1

1

ERROR_INVALID_PATH

無効なパスが設定されています

エラーコード:2

2

ERROR_INVALID_CALLBACK_DATA

コールバックパラメータが設定されていません

エラーコード:3

3

ERROR_INVALID_DATA_LENGTH

印刷データが上限を超えています

エラーコード:4

4

ERROR_GETPORT_FAILURE

デバイスが正しく接続されていません

エラーコード:5

5

ERROR_DEVICE_OFFLINE_BEGINCHECKEDBLOCK

デバイスがオフラインです

エラーコード:6

6

ERROR_WRITE_FAILURE

書き込み中にタイムアウトが発生しました

エラーコード:7

7

ERROR_DEVICE_OFFLINE_ENDCHECKEDBLOCK

デバイスがオフラインです

エラーコード:8

8

ERROR_PORTEXCEPTION

PORTEXCEPTIONが発生しました

エラーコード:9

9

ERROR_INVALID_RECEIPT_DATA

印字データが設定されていません

エラーコード:10

10

ERROR_PROCESS_CANCELED

プロセスがキャンセルされました

エラーコード:11

11

ERROR_ILLEGALARGUMENT_EXCEPTION

画像の生成に失敗しました

エラーコード:12

12

ERROR_OUTOFMEMORY_ERROR

画像の生成に失敗しました

エラーコード:13

13

ERROR_BLACKMARK_DETECTION

ブラックマークが検出できませんでした

エラーコード:14

14

ERROR_NONSUPPORTED_FILEFORMAT

非対応のファイルフォーマットです

エラーコード:15

15

ERROR_INSUFFICIENT_SETTINGS

設定が不足しています

エラーコード:16

16

ERROR_FAILED_TO_DOWNLOAD

データの取得に失敗しました

3.4.1. エラーコード:0

コード

0

文字列

SUCCESS

メッセージ

成功しました

説明

印刷に成功した場合に発行されます。

ポップアップメッセージ

-

対策

-

3.4.2. エラーコード:1

コード

1

文字列

ERROR_INVALID_PATH

メッセージ

無効なパスが設定されています

説明

規定値以外のパスが送られてきた場合に発行されます。
PassPRNTスイッチ直後に判定を実施します。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

無効なパスが設定されています

対策

正確なパスをURLスキームで設定します。

3.4.3. エラーコード:2

コード

2

文字列

ERROR_INVALID_CALLBACK_DATA

メッセージ

コールバックパラメータが設定されていません

説明

コールバックパラメータが設定されていない場合に発行されます。
印刷処理を優先するため、印刷完了後(コールバック処理直前)に判定を実施します。
エラーの場合、PassPRNT設定画面に遷移し、エラーのポップアップを表示します。コールバック先が不明であるため、本エラーを上位アプリで受信することはありません。

ポップアップメッセージ

コールバックパラメータが設定されていません

対策

コールバックパラメータに、URLエンコードした値を設定します。

3.4.4. エラーコード:3

コード

3

文字列

ERROR_INVALID_DATA_LENGTH

メッセージ

印刷データが上限を超えています

説明

規定長(1メートル≒8000px)より大きいデザインのレイアウトデータが送られてきた場合に発行されます。
PassPRNTスイッチ直後に判定を実施します。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

印刷データが上限を超えています

対策

1メートル(8000px)以下の印刷レイアウトデータを設定します。

3.4.5. エラーコード:4

コード

4

文字列

ERROR_GETPORT_FAILURE

メッセージ

デバイスが正しく接続されていません

説明

port、settings、timeoutの値もしくは設定画面の設定に準じてStarIO.getPortを実施した結果、失敗した場合に発行されます。
印刷処理第1段階で判定を実施します。
エラーの場合、ポップアップが再試行/キャンセルの確認ボタンとともに表示されます。「キャンセル」した場合、以降の処理はキャンセルされ、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

デバイスが正しく接続されていません

対策

プリンターの電源ON、Bluetoothペアリングされていることを確認します。
設定画面、もしくはURLスキーム(port、settings)で正しくプリンターを選択します。

3.4.6. エラーコード:5

コード

5

文字列

ERROR_DEVICE_OFFLINE_BEGINCHECKEDBLOCK

メッセージ

デバイスがオフラインです

説明

StarIO.getPort成功の次ステップで、プリンターステータスがオフラインの場合に発行されます。
印刷処理第2段階(印刷データ送信前)で判定を実施します。
エラーの場合、ポップアップが再試行/キャンセルの確認ボタンとともに表示されます。「キャンセル」した場合、以降の処理はキャンセルされ、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

カバーオープン時
デバイスがオフラインです
カバーを閉じてください

用紙切れ時
デバイスがオフラインです
用紙を入れてください

用紙保持時
デバイスがオフラインです
印刷した用紙を取り除いてください

用紙脱落時
デバイスがオフラインです
用紙の位置を確認してください

用紙つまり時
デバイスがオフラインです
つまった紙を取り除いてください

対策

プリンターの電源がONであること、エラー状態でないことを確認します。またプリンターの用紙保持制御機能が有効の場合は、プリンターが用紙を保持していないことを確認します。

3.4.7. エラーコード:6

注釈

本エラーはiOS版のみ発行されます。

コード

6

文字列

ERROR_WRITE_FAILURE

メッセージ

書き込み中にタイムアウトが発生しました

説明

StarIO.writeportで一定時間 5 以上経過した場合に発行されます。
ただし、StarIO.writeのプロセスはOSがWrite処理を続ける限りそれに続く処理をブロックするため、時間を超過しても本エラーが発生しないことがあります。この場合、OSが処理を終了しさらにwriteデータがまだ残っていた場合に本エラーが発行されます。
印刷処理第3段階(印刷データ送信中)で判定を実施します。
エラーの場合、以降の処理はキャンセルされ、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

書き込み中にタイムアウトが発生しました

5

Bluetooth通信の場合は60秒。BLE通信の場合は150秒。

3.4.8. エラーコード:7

コード

7

文字列

ERROR_DEVICE_OFFLINE_ENDCHECKEDBLOCK

メッセージ

デバイスがオフラインです

説明

印刷終了監視中にプリンターステータスがオフラインの場合に発行されます。
印刷処理第4段階(印刷中〜終了監視中)で判定を実施します。
エラーの場合、ポップアップが再試行/キャンセルの確認ボタンとともに表示されます。「キャンセル」した場合、以降の処理はキャンセルされ、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

カバーオープン時
デバイスがオフラインです
カバーを閉じてください

用紙切れ時
デバイスがオフラインです
用紙を入れてください

用紙脱落時
デバイスがオフラインです
用紙の位置を確認してください

用紙つまり時
デバイスがオフラインです
つまった紙を取り除いてください

対策

プリンターの電源がONであること、エラー状態でないことを確認します。

3.4.9. エラーコード:8

コード

8

文字列

ERROR_PORTEXCEPTION

メッセージ

PORTEXCEPTIONが発生しました

説明

印刷のプロセス中に発行されます。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

PORTEXCEPTIONが発生しました

対策

プリンターの電源ON、エラー状態でないこと、Bluetoothペアリングされていることを確認します。

3.4.10. エラーコード:9

コード

9

文字列

ERROR_INVALID_RECEIPT_DATA

メッセージ

印字データが設定されていません

説明

印刷データが設定されていない場合に発行されます。
ただし、"drawer=ahead"もしくは"drawer=after"が同時に設定されている場合は例外とします(印字なし、ドロアー駆動のシーン)。
PassPRNTスイッチ直後に判定を実施します。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

印字データが設定されていません

対策

URLスキームにURLエンコードした印刷レイアウトデータを設定します。

3.4.11. エラーコード:10

注釈

本エラーはAndroid版のみ発行されます。

コード

10

文字列

ERROR_PROCESS_CANCELED

メッセージ

プロセスがキャンセルされました

説明

印刷のプロセスがキャンセルされると発行されます。
上位アプリに本エラーを通知(コールバック)します。
発生要因は、ユーザ操作(ホームボタンや電源ボタン押下など)によって、アプリケーションが中断された後、さらにOSが処理をキャンセルした場合に発生します。
印刷中にホームボタンや電源ボタンを操作するなど中断する動作をしないでください。

ポップアップメッセージ

プロセスがキャンセルされました。(* トーストで表示されます)

対策

プリンターの電源ON、エラー状態でないこと、Bluetoothペアリングされていることを確認した上で、上位アプリから再送します。

3.4.12. エラーコード:11

注釈

本エラーはAndroid版のみ発行されます。

コード

11

文字列

ERROR_ILLEGALARGUMENT_EXCEPTION

メッセージ

画像の生成に失敗しました

説明

HTMLデータを画像データに変換する際、その生成に失敗すると発行されます。
エラーの場合、以降の処理はキャンセルされ、ポップアップが表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

画像の生成に失敗しました

対策

OSのメモリ使用状況やCPU負荷状況に依存するため、不要なアプリを終了させるなどデバイス内部の負荷を減らして上位アプリから再試行を試みます。

3.4.13. エラーコード:12

注釈

本エラーはiOS* / Android版のみ発行されます。

*iOS版 Star PassPRNT V2.4.2より

コード

12

文字列

ERROR_OUTOFMEMORY_ERROR

メッセージ

画像の生成に失敗しました

説明

画像データを印字コマンドデータに変換する際、その生成に失敗すると発行されます。
エラーの場合、以降の処理はキャンセルされ、ポップアップが表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

画像の生成に失敗しました

対策

OSのメモリ使用状況やCPU負荷状況に依存するため、不要なアプリを終了させるなどデバイス内部の負荷を減らして上位アプリから再試行を試みます。

3.4.14. エラーコード:13

コード

13

文字列

ERROR_BLACKMARK_DETECTION

メッセージ

用紙区切りを検出できませんでした

説明

印刷終了監視中に、プリンターステータスが用紙区切り検出エラーになると発行されます。
印刷処理第4段階(印刷中〜終了監視中)で判定を実施します。
エラーの場合、ポップアップが再試行/キャンセルの確認ボタンとともに表示されます。「キャンセル」した場合、以降の処理はキャンセルされ、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

用紙区切りを検出できませんでした

対策

ブラックマーク機能対応モデル
ブラックマーク用紙が正しくセットされていることを確認します。

メディア設定対応モデル
プリンターのメディア設定が正しく行われていることを確認します。

3.4.15. エラーコード:14

コード

14

文字列

ERROR_NONSUPPORTED_FILEFORMAT

メッセージ

非対応のファイルフォーマットです

説明

規定以外のフォーマットデータが送られてきた場合に発行されます。
PassPRNTスイッチ直後に判定を実施します。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

未対応フォーマットが指定されました

対策

対応フォーマットのデータが設定されていることを確認します。

3.4.16. エラーコード:15

注釈

本エラーはAndroid版 PassPRNT バージョン2.1以下のみ発行されます。

コード

15

文字列

ERROR_INSUFFICIENT_SETTINGS

メッセージ

設定が不足しています

説明

PassPRNTで求められる設定が不足している場合に発行されます。
PassPRNTスイッチ直後に判定を実施します。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

設定が不足しています

対策

設定が正しく行われていることを確認します。

3.4.17. エラーコード:16

コード

16

文字列

ERROR_FAILED_TO_DOWNLOAD

メッセージ

データの取得に失敗しました

説明

印刷データのダウンロードに失敗したときに発行されます。
* 不正なURLフォーマットを指定した。
* 接続/ダウンロードのタイムアウト時間(30秒)を経過した。
* サーバーからダウンロードしたデータが空(null)だった。
* HTTPステータスコードが成功(200)ではない。
* サーバー証明書の検証に失敗した。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

データの取得に失敗しました

対策

クエリパラメーター”url”に正しいURLが設定されているか確認します。
データが置かれているサーバーとの通信状態を確認します。

3.4.18. エラーコード:1000

注釈

本エラーはAndroid版のみ発行されます。

コード

1000

文字列

ERROR_BLUETOOTH_PERMISSIONS_NOT_GRANTED

メッセージ

Bluetooth の権限が許可されていません

説明

PassPRNTアプリがBluetooth権限を取得できない場合に表示されます。
* Bluetooth権限ダイアログが表示され、それに対し「許可しない」を選択した。
* 過去にBluetooth権限ダイアログに対し複数回「許可しない」を選択した。
エラーの場合、以降の処理はキャンセルされ、ポップアップとして表示されるとともに、上位アプリに本エラーを通知(コールバック)します。

ポップアップメッセージ

Bluetoothの権限が許可されていません

対策

PassPRNTアプリを一度終了させ、再度起動します。
Bluetooth権限ダイアログが表示された場合、「許可」を選択します。
表示されなかった場合、Androidの設定画面を開き、PassPRNTアプリのBluetooth権限を有効にします。