お客様が開発した Web アプリ/ネイティブアプリから、印刷仲介アプリである iOS/Android™版 Smooth Print を呼び出してプリンターにラベル/レシート印刷を行なう
概要
Smooth Print は、モバイル端末(iPhone/iPad、Android™)向け印刷仲介アプリです。
お客さまが開発した Web アプリ/ネイティブアプリから、URL スキームを用いて Smooth Print を呼び出すことで、簡単にラベル/レシート印刷を行なうことができます。
- 注) iOS 版 Smooth Print は、AppStore からダウンロードが可能です。
- 注) Android™ 版 Smooth Print は、開発者向け情報サイトからダウンロードが可能です。
- 注) 最新バージョンをダウンロードしてお使いください。
設定手順概要
<管理者の手順>
<利用者の手順>
- [4] 利用者は Smooth Print をインストールし、プリンターとの接続設定を行ないます。管理者からの案内手順に従い Web アプリ/ネイティブアプリを操作することで、URL スキームを用いて Smooth Print を呼び出してラベル/レシート印刷を行ないます。
システム構成図

注)Smooth Print は、URL スキームによる発行指示により、テンプレートファイルと用紙情報ファイルをダウンロードします。
Smooth Print は、URL スキームに含まれる各値(テキスト/バーコード、部数)をテンプレートファイルに反映して発行を行ないます。
設定手順(詳細)
[1] 管理者は、Windows PC を用いて Smooth Print が使用するテンプレートファイルと用紙情報ファイルを用意します。
<テンプレートファイル (lbx) の作成方法>
-
a.
P-touch Editor を起動してレイアウトを作成します。
-
b.
レイアウト上に作成したテキストやバーコードにそれぞれ、オブジェクト名を設定します。
- c. P-touch Editor のメニュー ファイル > 名前を付けて保存 から、テンプレートファイルとして lbx ファイルを保存します。
-
注)以下のフォントをサポートしています。
日本語フォント:美杉ゴシック(L/M/B)、桃花丸ゴシック L 、和桜明朝(M/B)、香梅教科書、蓮花行書、柳雅ペン書
欧文フォント:Atlanta、Belgium、Bermuda Script、Brussels、Brussels Condensed、Connecticut、Germany、Helsinki、Helsinki Narrow、Istanbul、Letter Gothic、PT Utah Condensed、San Diego、US、Utah
なお、スペースをお使いの際は、日本語フォントの場合は全角スペース、欧文フォントの場合は半角スペースを選択してください。
<用紙情報ファイル (bin) の作成方法>
-
プリンター設定ツールの用紙サイズ設定ダイアログボックスを起動します。
プリンターに登録されていない用紙サイズを使用する場合は、新規 から新しい用紙サイズを登録し、オプション > コマンドファイルに保存 をクリックし、コマンドファイル(bin 形式)としてエクスポートします。
注)新規に追加した用紙サイズでの印字結果について何かお困りごとがあれば、弊社営業担当までご連絡ください。
[2] 管理者は、テンプレートファイルと用紙情報ファイルを Web サーバー (http) へ置きます。
[3] 管理者が用意する Web アプリ/ネイティブアプリに、Smooth Print を呼び出すための URL スキームを組み込みます。
URL スキームは次の形式で指定します。
<URL スキーム>
単一レイアウト印刷
brotherwebprint://print?filename=テンプレート&size=用紙情報&copies=部数&text_オブジェクト名=テキスト&barcode_オブジェクト名=バーコード |

複数レイアウト印刷
brotherwebprint://print?filename1=テンプレート1.lbx&filename2=テンプレート2.lbx&…&size=用紙情報.bin&copies=部数&text_filename1.オブジェクト名=テキスト&text_filename2.オブジェクト名=テキスト&barcode_filename1.オブジェクト名=バーコード&barcode_filename2.オブジェクト名=バーコード |
注)各印刷対象ファイルに index は必須のため、index を付けていないファイルは印刷しません。
注)index の有効な設定値範囲は 0 と正の整数です。それ以外を設定すると印刷しません。
<必須パラメータ>
テンプレートと用紙情報は、以下を設定します。設定値は全て URL エンコーディング を行なう必要があります。
パラメータ名 | 設定可能な値 | 設定値の例 |
---|---|---|
filename | 単一レイアウトのテンプレートファイル (lbx) ・ローカルパスもしくはインターネット上のパスを設定する |
<ローカルパスの場合> file.lbx <インターネット上のパスの場合> http%3A%2F%2Fexample.com%2F%E3%82%B5%E3% 83%B3%E3%83%97%E3%83%AB.lbx |
filename連番 | 複数レイアウトのテンプレートファイル (lbx) ・ローカルパスもしくはインターネット上のパスを設定する |
<ローカルパスの場合> file1.lbx <インターネット上のパスの場合> http%3A%2F%2Fexample.com%2F%E3%82%B5%E3% 83%B3%E3%83%97%E3%83%AB.lbx |
size | 用紙情報ファイル (bin) ・ローカルパスもしくはインターネット上のパスを設定する |
<ローカルパスの場合> 26x76.bin <インターネット上のパスの場合> http%3A%2F%2Fexample.com%2F%E3%82%B5%E3% 83%B3%E3%83%97%E3%83%AB.bin |
注)あらかじめ他アプリから OS 標準のファイル共有機能でテンプレートファイル (lbx) や用紙情報ファイル (bin) を Smooth Print にダウンロードしておきたい場合、共有先のアプリとして Smooth Print が選択可能です。ファイルを共有済みの場合はファイル名のみの指定で印刷が可能です。
<任意パラメータ>
必須パラメータのあとに必要に応じて以下のパラメータを設定します。
パラメータ名 | 対象 | デフォルト | 設定値の例 |
---|---|---|---|
copies | 印刷部数 数値を設定します。 |
1 | 1 |
halftone | ハーフトーン 下記のいずれかを設定します。 threshold(単純二値) pattern_dither(ディザ) error_difusion(誤差拡散) |
pattern_dither | pattern_dither |
rjDensity | 濃度 数値 -5(明るい)〜 5(暗い)の整数値を設定します。 |
0 | 2 |
rotate180 | 印刷画像の180度回転 下記のいずれかの数値を設定します。 0(回転しない) 1(回転する) |
0 | 1 |
peelMode | 剥離モード 下記のいずれかの数値を設定します。 0(剥離モード OFF) 1(剥離モード ON) |
0 | 1 |
printQuality | 印刷品質 下記のいずれかを設定します。 normal(品質優先) double_speed(速度優先) |
normal | normal |
orientation | 方向 下記のいずれかを設定します portrait(縦) landscape(横) |
lbx ファイルは自身の設定に依存、lbx ファイル以外は landscape | portrait |
printMode | 印刷サイズ 下記のいずれかを設定します。 original(オリジナルサイズ) fit_to_page(ページに合わせる) scale(数字指定) fit_to_paper(用紙に合わせる) |
fit_to_page | original |
scaleValue | 倍率数字指定(正の小数または整数) ※printMode が scale の場合有効 ※PDF 印刷の場合1以下を指定 |
1.0 | 1.0 |
text_オブジェクト名 | テキストオブジェクトのテキスト 文字列を設定します。(単一レイアウト) |
- | サンプル |
barcode_オブジェクト名 | バーコードオブジェクトのデータ 文字列を設定します。(単一レイアウト) |
- | 12345 |
text_filename連番.オブジェクト名 | テキストオブジェクトのテキスト 文字列を設定します。(複数レイアウト) |
- | サンプル |
barcode_filename連番.オブジェクト名 | バーコードオブジェクトのデータ 文字列を設定します。(複数レイアウト) |
- | 12345 |
注1) text_オブジェクト名と barcode_オブジェクト名の場合、オブジェクト名には、P-touch Editor でレイアウト上に作成したテキストやバーコードにそれぞれ設定したオブジェクト名を入力します。
例えば、"TEXT" というオブジェクト名のテキストに文字列を入力して印刷したい場合、パラメータ名は text_TEXT となります。
注2) 同じパラメータ名が複数定義されている場合、最後に定義されたパラメータ値が採用されます。 パラメータによるデータの変更指示は、オブジェクトタイプ(テキストまたはバーコード)およびオブジェクト名が一致する全てのオブジェクトに対して適用します。
注3) printQuality は TD-2130N/2130NSA/2135N/2135NSA/2135NWB/2135NWBSA において有効です。
注4) プリンター本体が対応していないパラメータ/有効範囲外のパラメータ値を設定した場合、設定は無視されデフォルトで印刷されます。
注5) 複数レイアウトの text_filename連番.オブジェクト名、barcode_filename連番.オブジェクト名のfilename連番は必須パラメータで記載したパラメータのことです。
注6) 複数レイアウトの場合 text_filename連番.オブジェクト名、barcode_filename連番.オブジェクト名のfilename連番以外の設定はすべてのレイアウトで共通になります。
<任意パラメータ(コールバック用)>
利用者の WEB アプリ/ネイティブアプリで印刷結果を確認したい場合は、このコールバック用パラメータを使用してください。
このとき、印刷結果(印刷成功/失敗)は Smooth Print には表示されません。
コールバック用パラメータは両方指定する必要があります。各パラメータは & でつなげてください。片方のみ指定された場合は無視されます。
パラメータ名 | 対象 | 設定可能な値 | 値の例(URL エンコーディングされた値) | 値の例(URL エンコーディング前の値) |
---|---|---|---|---|
successCallback | 印刷成功時に起動する URL スキーム | URL 文字列 | sendurlscheme%3A%2F%2F successCallback%3Fresult%3D |
sendurlscheme:// successCallback?result= |
failureCallback | 印刷失敗時に起動する URL スキーム | URL 文字列 ※パラメータ名「param」に任意の値を設定ください。この例では「あいう」を設定しています。印刷ジョブの識別等に活用できます。 |
sendurlscheme%3A%2F%2F failureCallback%3Fparam%3D %25E3%2581%2582%25E3 %2581%2584%25E3%2581 %2586%26result%3D |
sendurlscheme:// failureCallback?param= あいう&result= |
上記の例では、WEB アプリ/ネイティブアプリが sendurlscheme というスキーム名での呼び出しに対応しているものとします。
注)ただし WEB アプリ/ネイティブアプリの起動に失敗した場合、コールバック用パラメータが指定されていない場合と同じアラートが Smooth Print 側で表示されます。
注)印刷成功時は、Smooth Print が呼び出す URL スキームは sendurlscheme://successCallback?result=SUCCESS となる。
印刷失敗時(例:プリンターが未選択)は、Smooth Print が呼び出す URL スキームは
sendurlscheme://failureCallback?param=%E3%81%82%E3%81%84%E3%81%86&result=ERROR_PRINTER_NO_SETTING となる。
注)コールバック指定時に使用可能なエラーコードは<Brother Print SDKのエラーコード>をご確認ください。
URL エンコーディング
パラメータの値は UTF-8 で符号化し、コロンやスラッシュを含めて URL エンコードを行なう必要があります。 上記必須パラメータ - テンプレート - <インターネット上のパスの場合> の例では、エンコード前の値は http://example.com/サンプル.lbx となります。
注) ファイル名は大文字・小文字を区別します。ただし Android™ のローカルパスは大文字・小文字を区別しないため、大文字・小文字のみが異なるファイルが存在した場合、そのファイルを使用します。
Smooth Print で印刷設定を行ないます。
<カットオプション>
Smooth Print のホーム画面からカットオプションをタップし、カットオプションを設定します。
カットオプション | 説明 | 初期設定 |
---|---|---|
オートカット | 印刷終了時(複数枚設定した場合は印刷する毎)に用紙を自動的にカットする/しないを設定する。 | ON(次回以降は前回の設定を反映する) |
最後をカット | 印刷終了時にカットする/しない(カットしない場合はカット位置で停止する)を設定する。 | ON(次回以降は前回の設定を反映する) |
指定枚数ごとにカット | 何枚ごとにカットするかを設定する。 | 1(次回以降は前回の設定を反映する) |
注) カットオプションはオートカッター対応モデルのみ有効です。
<印刷成功/失敗時のログ保存>
印刷履歴/エラーログ設定を選択し、機能を ON あるいは OFF することができます。
ログ保存を ON にした場合、ログファイルが保存されます。
・初めて印刷した際に、指定したパスに印刷履歴ログファイルが作成されます。
・そのログファイルに印刷毎にログデータが追加されていきます。
・毎月新しいログファイルが指定のパスに保存されます。
印刷成功の場合、印刷履歴ログを保存します。
言語 | 日本語 |
ファイル名 | 下記のフォーマットのファイル名が作成されます。 printLog_YYYY-MM.txt 例)2023年5月7日にログファイルが作成された場合:printLog_2023-05.txt |
印刷履歴ログファイルには、印刷時刻と実施した URL が保存されます。
印刷時刻 | 例)2023-05-07_13-00-00 |
実施した URL スキーム | 例)brotherwebprint://print?filename=Template.lbx&size=26x76.bin&copies=1& text_TEXT=sample&barcode_BARCODE=12345 |
印刷失敗の場合、エラーログを保存します。
言語 | 日本語 |
ファイル名 | 下記のフォーマットのファイル名が作成されます。 printLog_YYYY-MM.txt 例)2023年5月7日にログファイルが作成された場合:printLog_2023-05.txt |
エラーログファイルには、印刷時刻と実施した URL および、Smooth Print で定義するエラーコードが保存されます。
印刷時刻 | 例)2023-05-07_13-00-00 |
実施した URL スキーム | 例)brotherwebprint://print?filename=Template.lbx&size=26x76.bin&copies=1& text_TEXT=sample&barcode_BARCODE=12345 |
エラーコード | 例)PRINT_CANCEL |
注1) ファイルの拡張子は txt です。ファイルが書き込めない場合、ファイル名の末尾に通し番号をつけます。
注2) 端末のメモリなどが原因でログ保存に失敗した場合、以下のログ保存失敗トーストを表示します。
発生条件:端末のメモリなど原因で印刷履歴とエラーログを保存に失敗した場合。
タイトル:保存できません。
メッセージ:なし。
<自己署名証明書(iOS のみ)>
自己署名証明書の設定を選択し、機能を ON あるいは OFF することができます。
信頼されない自己署名証明書を利用した Web サイトのファイルを印刷したい場合のみ、この設定を有効にしてください。
注)信頼されない証明書を利用した Web サイトは、攻撃者によって不正な侵入を受ける危険性があります。Web サイトがお客様自身の管理する内部ネットワーク上にない場合、この設定を無効にすることをおすすめします。
エラーコード一覧
<Smooth Print で定義するエラーコード一覧>
コールバック指定していない場合に、Smooth Print 上で以下のエラーコードを表示します。
エラーコード | 発生条件 | 発生時に表示するトースト |
---|---|---|
SUCCESS | 印刷に成功した場合 | なし |
PRINT_CANCEL | 印刷をキャンセルした場合 | なし |
ERROR_PRINTER_NO_SETTING | 印刷準備開始時、プリンターが未選択、もしくは未設定の場合 | プリンターと接続してください |
ERROR_INVALID_SCHEME_PARAMETER | URL スキームの必須パラメータが指定されていない場合 | URLスキームのパラメータが不正です |
ERROR_NO_PRINT_DATA, ERROR_OPEN_LBX_FAILED |
印刷対象の取得に失敗した場合、または取得した LBX ファイルが開けなかった場合 | 印刷対象ファイルが取得できませんでした |
ERROR_NO_CUSTOM_PAPER_FILE | 用紙情報ファイルの取得に失敗した場合 | 用紙情報ファイルがありません |
NO_FILES_ACCESS_PERMISSION | (端末の内部ストレージに保存された印刷対象ファイル、もしくは用紙情報ファイルを指定した場合のみ)本アプリに端末内ストレージへのアクセス権限が付与されていない場合(Android™ のみ) | 「印刷対象ファイルが取得できませんでした」もしくは「用紙情報ファイルがありません」 |
DIALOG_CLOSE | 印刷処理の完了前に印刷中画面を閉じた場合(Android™ のみ) | なし |
ERROR_UNKNOWN | 上記以外のエラーが発生した場合 | 原因不明のエラーが発生しました |
<Brother Print SDK のエラーコード>
プリンターとの接続処理および印刷処理は Brother Print SDK を利用しています。
コールバック指定している場合に、起動元アプリ上で以下のエラーコードを表示します。
注)起動元アプリが Android™ のネイティブアプリである場合は、コールバック指定していなくても以下のエラーコードを起動元アプリに返します。
(Android™ の場合)
エラーコードは Brother Print SDK のマニュアルをご参照ください。
(iOS の場合)
Brother Print SDK のマニュアルにある一部の下記エラーコードを起動元アプリに返します。
起動元アプリに返すエラーコード | 対応する SDK のエラーコード |
---|---|
connectError | ERROR_COMMUNICATION_ERROR |
noMedia | ERROR_PAPER_EMPTY/ERROR_CHANGE_CASSETTE/ ERROR_FEED_OR_CASSETTE_EMPTY/ERROR_NOCASSETTE |
highTemperature | ERROR_OVERHEAT |
highAdapter | ERROR_HIGH_VOLTAGE_ADAPTER |
coverOpen | ERROR_COVER_OPEN |
mediaDifference | ERROR_WRONG_LABEL |
lowBattery | ERROR_BATTERY_EMPTY |
cutterJam | ERROR_PAPER_JAM |
noTube | ERROR_TUBE_EMPTY |
noTubeRibbon | ERROR_TUBE_RIBBON_EMPTY |
wrongCustomInfo | ERROR_WRONG_CUSTOM_INFO |
unsupportedMedia (対応していない用紙サイズを指定した場合) |
ERROR_SYSTEM_ERROR |
cancel(*) | ERROR_CANCEL |
printError | 上記以外のエラーが発生した場合 |
* このエラーは Brother Print SDK のマニュアルに記載はありません。
PDF 印刷の手順
URL スキームは次の形式で指定します。
<URL スキーム>
単一レイアウト印刷
brotherwebprint://print?filename=PDF&size=用紙情報&copies=部数 |

複数レイアウト印刷
brotherwebprint://print?filename1=PDF1&filename2=PDF2&…&size=用紙情報&copies=部数 |
<必須パラメータ>
テンプレートと用紙情報は、以下を設定します。設定値は全て URL エンコーディング を行なう必要があります。
パラメータ名 | 設定可能な値 | 設定値の例 |
---|---|---|
filename | 単一レイアウトのテンプレートファイル (pdf) ・ローカルパスもしくはインターネット上のパスを設定する |
<ローカルパスの場合> file.pdf <インターネット上のパスの場合> http%3A%2F%2Fexample.com%2F%E3%82%B5% E3%83%B3%E3%83%97%E3%83%AB.pdf |
filename連番 | 複数レイアウトのテンプレートファイル (pdf) ・ローカルパスもしくはインターネット上のパスを設定する |
<ローカルパスの場合> file1.pdf <インターネット上のパスの場合> http%3A%2F%2Fexample.com%2F%E3%82%B5% E3%83%B3%E3%83%97%E3%83%AB1.pdf |
size | 用紙情報ファイル (bin) ・ローカルパスもしくはインターネット上のパスを設定する |
<ローカルパスの場合> 26x76.bin <インターネット上のパスの場合> http%3A%2F%2Fexample.com%2F%E3%82%B5% E3%83%B3%E3%83%97%E3%83%AB.bin |
注1) あらかじめ他アプリから OS 標準のファイル共有機能で PDF ファイル (pdf) や用紙情報ファイル (bin) を Smooth Print にダウンロードしておきたい場合、共有先のアプリとして Smooth Print が選択可能です。ファイルを共有済みの場合はファイル名のみの指定で印刷が可能です。
注2) 任意パラメータ (text_オブジェクト名、barcode_オブジェクト名) 以外はテンプレートの場合と同様です。
仕様
対応モデル一覧
対応 OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
TD-4550DNWB | ○ | ○ | ○ | ○ |
TD-4420DN | × | ○* | × | ○* |
TD-2135NWB/2135NWBSA | ○ | ○ | ○ | ○ |
TD-2135N/2135NSA | × | ○* | × | ○* |
TD-2130N/2130NSA | × | ○ | ○ | ○ |
RJ-4250WB | ○ | ○ | ○ | ○ |
RJ-4230B | ○ | × | ○ | × |
RJ-3250WB | ○ | ○ | ○ | ○ |
RJ-3230B | ○ | × | ○ | × |
RJ-3150Ai | ○ | ○ | ○ | ○ |
RJ-3150 | × | ○ | ○ | ○ |
RJ-2150 | ○ | ○ | ○ | ○ |
RJ-2140 | × | ○ | × | ○ |
RJ-2050 | ○ | ○ | ○ | ○ |
RJ-2030 | × | × | ○ | × |
*プリンターは有線 LAN で接続する必要があります。
対応インタフェース
- iOS:Bluetooth (MFi)、Wi-Fi
- Android™:Bluetooth、Wi-Fi
注)Bluetooth は Classic のみ対応、Bluetooth Low Energy は非対応。
動作環境
iOS: 14.1 以上
Android™: 8.0 以上
ダウンロード
注)apk ファイルをダウンロード後、手動で Android™ 端末にインストールしてください。
注)iOS 版 Smooth Print は AppStore からダウンロードが可能です。