Go
製品情報 ブラザーグループについて Global Brother

ブラザーホーム >> 開発者ツール >> MPrint&PocketJetSDK >> FAQ

FAQ ―よくある質問―

MPrint&PocketJet用アプリケーション開発について、これまでお問い合わせの多かった項目について、以下にお答えしております。 お手数ですが、電子メールなどでご質問をお送りいただく前に、以下の内容をご参照いただきますようお願い申し上げます。

全般

Windows Mobile、Windows CEに関するよくある質問

Windows PC

携帯電話


全般

Q: MPrint&PocketJet開発者向け情報提供サイトの情報は無償ですか?
A: はい。すべて無償です。ただし、「MPrintまたはPocketJet用のソフトウェアの開発」を利用目的とすることを前提として無償にて配布しています。
Q: MPrint&PocketJet開発者向け情報提供サイトの情報を用いると、どのような機器からMPrintやPocketJetへの印刷が可能になるのでしょうか?
A: 現在、PocketPC / Windows Mobile用、Windows CE用、LinuxZaurus用、Symbian用のSDKを用意しております。
これらのSDKを用いることにより、各機器からMPrintシリーズ、およびPocketJetへの印刷を行うプログラムを開発することが可能です。
また、NTTドコモの携帯電話でiアプリからMPrint MW-120 / MW-120 TypeF / MW-260への印刷を行うことが可能です。
本サイトでサンプルプログラムを提供しておりますので参考にしてください。


プリンタによっては、各SDKにそれぞれ対応、非対応がありますので、詳しくは一覧表(PDF形式:128KB)をご参照ください。
クリックすると別ウィンドウで表示します。
MPrint&PocketJetSDK対応一覧表
Q: MPrintシリーズのESC/Pコマンド対応について教えてください?
A: MPrintシリーズの次のモデル(MW-120 / MW-120 TypeF / MW-140BT TypeE / MW-140BT TypeF/ MW-145BT / MW-260)はプリンタフォントを内蔵しており、弊社独自のESC/P準拠のプリンタコマンドによって印刷を行うことが可能です。
従いまして、ターゲット機器から直にテキストベースのデータを出力するプログラムが作成出来れば、MW-120 / MW-120 TypeF / MW-140BT TypeE / MW-140BT TypeF / MW-145BT / MW-260へ印刷することが出来ます。
弊社独自のESC/P準拠コマンドに関しましては、本サイトからダウンロード出来ますESC/Pコマンドリファレンスを参照ください。
ESC/Pコマンドは、MW-120、MW-120 TypeF、MW-140BT TypeE、MW-140BT TypeF、MW-145BT、MW-260で基本は同じですが、それぞれのモデルに差異もありますので、最新版(2009年9月現在:Ver.1.04)をダウンロードしてご参照ください。


尚、ESC/Pを扱う場合、データ受信は30KByteまでです。
ただし内部処理の都合で30KByte以下のデータでも受信できないことがあります。
Q: ロゴの印刷について教えてください。
A: ロゴの印刷については、お使い頂く機種により、以下のような違いがございます。

ESC/Pコマンド非対応プリンタでの開発
(MPrint MW-100 / MW-100e / MW-140BT)

    • こちらのプリンタは、プリンタ側にフォントデータを持っておらす、印刷データを送る側で作成したグラフィックイメージを、そのままプリンタで印刷する方式を用いておりますので、印刷データを送る側でロゴデータを生成すれば、印刷が可能です。
      実際の方法に関してはMPrintSDKをご利用頂くことになりますので、SDK内ドキュメントをご覧ください。



ESC/Pコマンド対応プリンタでの開発
(MPrint MW-120 / MW-120 TypeF / MW-140BT TypeE / MW-140BT TypeF / MW-145BT / MW-260)

    • こちらのプリンタは、2つの印刷モードを持っており、プリンタに制御コードを送ることにより、切り替えることが可能になっております。 1つ目のモードは、上記、MPrint MW-100での印刷方式と同じになります。
      2つ目のモードでは、プリンタ本体内に用意されておりますフォントおよび イメージデータを保存しておくためのメモリを使い、印刷を行うことが可能です。
      その際には、イメージデータ用のメモリ中にロゴなどのデータを保存しておき、 保存したデータを印刷する、というコマンドにより、ロゴ印刷することが可能です。
      詳細は、MPrintSDKと同じく、情報提供サイトからダウンロード出来ます。
      MPrint ESC/Pコマンドリファレンスと転送マネジャーをご確認下さい。

Q: SDKを用いたプログラムにより中国語の印刷は可能でしょうか?
A: 可能と考えております。 SDKをお使い頂いた場合、お客様のお使いのアプリケーション(中国語のアプリケーション)の方で、データを展開できれば、そこで作成したグラフィックイメージを、そのままプリンタで印刷することが出来ますので可能と思われます。
Q: 今までにプリンタへの印刷プログラムを既に作ったことがあるのだが、MPrintへも対応したい。
A: グラフィックイメージでの印刷を既にご存じの方は、MPrintを直接制御するためのコマンドリファレンスをダウンロードして参考にして頂けます。
ESC/Pコマンドベースでの印刷を既にご存じの方はMPrint ESC/Pコマンドリファレンスをダウンロードして参考にして頂けます。
Q: 今までにSDKを使ってMPrint向けの印刷プログラムを作ったのことがあるのだが、PocketJetへも対応したい。
A: MPrint&PocketJetSDK Ver.3.2.1をダウンロードし、プログラムを再ビルドしてください。
また、高品質な印刷イメージを出力するには、A4サイズに合わせてグラフィックイメージを作成し直してください。
Q: SDKを使って作ったプログラムで、用紙切れなどの場合に表示されるエラーダイアログを制御したいのですが?
A: 印刷ダイアログを表示しないで印刷することができます。
mpGetLastError関数を使用すると、印刷実行時のエラーコードを取得できます。
詳細は、SDKに付属しているマニュアルの「関数リファレンス」-「使用例」をご参照ください。
Q: P-touch Templateで転送出来るオブジェクト(可変データ)の数は?
A: 可変データとして入替可能なオブジェクトは、50個です。詳しくは、P-touch Templateのコマンドリファレンスの制限事項をご確認ください。
Q: Bluetooth接続で直接印刷データを送ったときに、正常に印刷できないときがあるが、どうすればよいでしょうか?
A: Bluetoothで接続する場合、ポートをオープンした直後は、プリンターの準備が整っていないことがあります。
印刷データを送る場合、ポートオープン後に500msec以上待ってから、データを送り始めてください。
また、複数ページの印刷をする場合などで、ポートのクローズとオープンが連続して行なわれる場合には、ポートをクローズした後に500msec 以上まって次のポートオープンを行ってください。
1ページ分の印刷データを送信後印刷が完了するまでBluetoothポートは閉じないでください。印刷完了後、プリンタから32バイトの返信がありますのでホスト側で受信した後、ポートをクローズしてください。
MPrint&PocketJetSDKをご利用の場合、この処理は反映されています。

Windows Mobile、Windows CEに関するよくある質問

Q: 使用できる開発環境を教えて下さい。また、どのSDKを使ったらよいですか?
A:プリンタによって、各SDKにそれぞれ対応、非対応がありますので、詳しくは一覧表(PDF形式:128KB)をご参照ください。
クリックすると別ウィンドウで表示します。
MPrint&PocketJetSDK対応一覧表


Windows Mobileの場合、簡単に下記にご案内します。ターゲットとなるOSの種類によって開発環境が決まります。

開発環境 / OSの種類 Pocket PC Pocket PC 2002 Pocket PC 2003 Pocket PC 2003 SE Windows Mobile 5.0 Windows Mobile 6.x Windows CE 5.0
eMdebedd Visual C++ Ver.3.0 × × × × ×
eMdebedd Visual Basic Ver.3.0 × × × × ×
eMdebedd Visual C++ Ver.4.0 × × × × ×
Visual C++ .NET 2003 × × × × × × ×
Visual Basic .NET 2003 × × × × ×
Visual C# .NET 2003 × × × × ×
Visual C++ 2005 × ×
Visual Basic 2005 × ×
Visual C# 2005 × ×
Visual C++ 2008 × × × ×
Visual Basic 2008 × × × ×
Visual C# 2008 × × × ×


開発環境が決まりましたら、使用するSDKが決まります。

PocketPC / Windows Mobileの場合
開発環境 / SDK種類 MPrintSDK for PocketPC Ver.1.3.1 MPrintSDK for Windows Mobile Ver.2.3 MPrint&PocketJetSDK for Windows Mobile Ver.3.2.1 MPrintSDK for .NET Compact Framwork Ver.2.3 MPrint&PocketJetSDK for .NET Compact Framwork Ver.3.2.1
eMdebedd Visual C++ Ver.3.0 × × × ×
eMdebedd Visual Basic Ver.3.0 × × × ×
eMdebedd Visual C++ Ver.4.0 × × × ×
Visual C++ .NET 2003 × × × × ×
Visual Basic .NET 2003 × × × ×
Visual C# .NET 2003 × × × ×
Visual C++ 2005 × × ×
Visual Basic 2005 × × ×
Visual C# 2005 × × ×
Visual C++ 2008 × × × ×
Visual Basic 2008 × × × ×
Visual C# 2008 × × × ×


Windows CEの場合
開発環境 / SDK種類 MPrint&PocketJetSDK for Windows Mobile Ver.3.2.1 MPrint&PocketJetSDK for .NET Compact Framwork Ver 3.2.1
Visual C++ 2005 ×
Visual Basic 2005 ×
Visual C# 2005 ×
Visual C++ 2008 ×
Visual Basic 2008 ×
Visual C# 2008 ×

Q: VisualBasicまたはC#で開発を行いたいのですが?
A:各SDKにそれぞれ対応、非対応がありますので、詳しくは一覧表(PDF形式:128KB)をご参照ください。
クリックすると別ウィンドウで表示します。
MPrint&PocketJetSDK対応一覧表


開発環境がVisual Studio.NET 2003 または Visual Studio 2005、Visual Studio 2008であればVisual BasicまたはC#での開発が行えます。
VisualBasic またはC#によるプログラム開発には、.NET CompactFrameworkに対応したSDKが必要となります。
MPrint&PocketJetSDK for .NET Compact Framework の最新版をご利用ください。
.NET CompactFramework のバージョンは1.0及び2.0、3.5に対応しております。
Q: プログラムから印刷するプリンタを設定する方法はどうすればよいですか?
A: mpSetPrinter関数を利用してください。

または、プログラムでプリンタを指定する場合は、以下のようにレジストリの設定をお願いします。

キー:[HKEY_LOCAL_MACHINE\SOFTWARE\Brother\MwApps\Common]

名前:Printer
値:プリンタ名(MW-100, MW-120, MW-140BT, MW-145BT, MW-260, PJ-520, PJ-560, PJ-623, PJ-663 のうちどれか)

(Bluetoothでない場合)
名前:Port
値:ポート名(IrDA, USB, FILE のうちどれか)

(Bluetoothの場合)
名前:BTFlag
値:1(DWORD)
名前:BTPort
値:COM番号(例:COM8 Bluetoothを割り当てたCOM番号)

以上のレジストリをプログラム内で設定後、

mpGetDefaultValue(MP_COMMON_PRINTER, (void *)&gl_Printer);

関数を呼ぶことにより、プリンタの設定が行われますのでプリンタ設定ダイアログを使わずに印刷を行うことが出来ます。

Q: SDKで作った印刷プログラムを GENIO e550CT 上で使うと、印刷結果がにじんだような状態になるのですが?
A: 現在、GENIO e550CT において、処理の方法によっては不具合となる場合
があることが確認されています。
プログラム中の mpInitialize() でビットマップ色数に8bit以外を使用することにより、問題を回避できることを確認済みです。ビットマップ色数を1bitか24bitでお使い下さい。
Q: MPrint&PocketJetSDK for Windows Mobile を使うとどこまで制御できるの?
A: MPrint&PocketJetSDK for Windows Mobile では、Windows Mobileシリーズ用、Windows CE用の アプリケーションを開発することができます。
アプリケーションは自由に開発できます。
ただし、MPrint&PocketJetSDK for Windows Mobileにはバーコード生成モジュールは含まれておりませんので、 もし、お客様のアプリケーションでバーコードを利用したい場合は、お客様ご自身でバーコード生成モジュールを手配ください。
Q: ソフトウェアの開発期間はどのくらい?
A: お客様の環境に左右されますので、一概には言えませんが、 あくまで目安として、サンプルプロジェクトの開発期間を下記のように 想定しております。この値は保証するものではありません。

仮定)
    • 開発者の方にVCでの開発経験がある
    • サンプルプロジェクト「ABC領収書」または「プライスシート」をVCで開発
推定)
    • 40時間程度:MPrint&PocketJetSDK for Windows Mobile の理解
    • 60時間程度:1サンプル作成
合計100時間程度
Q: "mpPreviewDialog"と"mpPrintDialog"の関数が、 印刷の成否に関わらず必ず、"FALSE"が戻り値として 帰ってきます。解決策は?
A: 古いライブラリをお使いになられております。 最新のライブラリではこの問題を解決しております。 弊社のダウンロードサイトから、 最新のライブラリをダウンロードして下さい。
Q: 作成したアプリケーションがPDAで動きません。
エラーのダイアログに「'…'(またはいずれかの構成ファイル)が見つかりません。
パスやファイル名が正しく、必要なライブラリが使用可能であることを確認してください。」と書いてあります。
A: MPrint&PocketJetSDK for Windows Mobile では作成したexeファイルと共にいくつかのdllファイルを PDAにコピーしないと動作しません。
Runtimeフォルダの中の対応するOSのMwRes.dllとMwRuntime.dllをPDAの「Windows」フォルダの直下に コピーしてください。
アプリケーションのインストーラを作成する場合には上記二つのdllファイルも含めるように構成してください。


また、MPrint&PocketJetSDK for .NET Compact Frameworkで作成したexeファイルの場合は、Runtimeフォルダの 中の対応するOSのMwRes.dllとMwRuntime.dllをPDAの「Windows」フォルダの直下にコピーし、さらに、 MwLibrary.dllをexeファイルと同じフォルダにコピーしてください。
Q: SDKのバージョンを確認する方法はありますか?
A: SDKの見分け方は、まずは MwRuntime.dll のバージョン情報を見てください。
バージョン情報の見方は以下の手順で確認できます。
  1. ファイルをPCに持ってきます。
  2. PC上でアイコンを右クリックし、プロパティを表示。
  3. 「バージョン情報」のタブ画面を表示し、「ファイルバージョン」を確認。

Windows

Q: VBでソフトウェアを開発する場合の制御方法は?
A: 印刷の制御はドライバを通して行っています。
通常のプリンタと同様の制御方法が可能です。
ただし、VBとMPrintでは、以下の制限があります。

{制限内容}
  1. MPrint固有の操作
    MPrintでは、固有の設定項目があります。 用紙ID(A7やCutlabel2、4など)は標準の用紙サイズに無いため、 VB標準の操作からはできません。
  2. VBの特性
    VBではプリンタを設定する際、通常使うプリンタをプリンタとし、 そのデフォルト値をアプリケーション上のデフォルト値にします。 VBの操作によって用紙サイズを変更する際、VBでは標準の用紙しか 設定できません(A4やB4など)。
  3. 上記(1),(2) の結果起こる問題点
    用紙IDをPrinterオブジェクトでアプリケーションから設定できません。

    ですので、MPrintのプリンタドライバを「通常使うプリンタ」に設定し、 ドライバでデフォルト値を設定してからアプリケーションを使用する必要があります。
    以上のような理由から、お客様のお使いになられるケースによって次の様になります。

    • 決まった用紙サイズにしか印刷しない場合
      最初のプリンタ設定をして頂ければ、継続してアプリケーションをご使用頂けます。
    • アプリケーションで様々な用紙を選択、印刷する場合
      現在は、直ぐにこちらにご対応できるツールがありません。 近々、ベータ版ながらVBでの開発用のツールをご用意させて頂こうと思っております。
Q: Doja版iアプリをStar版iアプリに更新するには、どうすればよいでしょうか?
A: Star版のiアプリサンプルプログラム集をダウンロードして、以下の変更を行ってください。
Doja版iアプリからStar版iアプリに変更する場合:
Star版iアプリの作成方法については、iアプリサンプル集 開発リファレンスの「開発チュートリアル」をご参照ください。
ここでは、ソースコード上での変更点のポイントを説明します。

Doja版ソースコード

// HelloWorld.java
//パッケージのインポート。
//com.nttdocomo.uiパッケージはIApplicationクラスを含むので必須です。
import com.nttdocomo.ui.*;
import com.brother.MPrint.i.Escp;

//IApplicationのサブクラスとしてHelloWorldクラスを宣言します。
//IApplicationはiアプリ作成時の必須クラスです。
public class HelloWorld extends iApplication
{
  //初期化処理
  //iアプリ起動時にはこのstartメソッドが呼ばれます。
  public void start()
  {
  }
}

赤字の部分を以下のように修正してください。
Star版ソースコード

// HelloWorld.java
//パッケージのインポート。
import com.nttdocomostar.ui.*;
import com.brother.MPrint.i.Escp;

//StarApplicationのサブクラスとしてHelloWorldクラスを宣言します。
//StarApplicationはiアプリ作成時の必須クラスです。
public class HelloWorld extends StarApplication
{
  //初期化処理
  //iアプリ起動時にはこのstartメソッドが呼ばれます。
  public void started(int launchType)
  {
  }
}

その他ご使用のiアプリAPIによっては、Doja版とStar版で仕様が変更されている場合がありますので、詳細については iαppli Development Kit for Star1.x のマニュアルをご参照ください。
このページの先頭へ

ホーム製品情報ブラザーグループについてGlobal Siteサイトマップ

ご利用にあたって個人情報の取り扱いについてお問い合わせ(総合)