FAQ(よくあるご質問) : b-PAC

b-PAC に関して、これまでお問い合わせの多かった項目について、以下にお答えしております。 お手数ですが、電子メールなどでご質問をお送りいただく前に、以下の内容をご参照く ださい。

動作環境・b-PACのバージョン

Q

b-PAC SDK の 32bit 版と 64bit 版のどちらを使用すればいいですか?

A

32bit 版か 64bit 版かについては、お客様が使用されるアプリケーションのバージョンと合わせてください。
例えば Microsoft Excelですと、32bit 版を使用される場合は b-PAC SDK (32bit 版)、64bit 版の場合は b-PAC SDK (64bit 版)という組み合わせになります。
Microsoft Office 2007 までは 32 bit 版のみでしたが、 Microsoft Office 2010 からは 32bit 版/ 64bit 版の両方のバージョンがあり、OS が 64bit でもアプリケーションが 64bitとは限らないのでご注意ください。
組み合わせが異なるb-PACをインストール済みの場合は、一旦アンインストールをした後、ご利用のアプリケーションと適合するbit版のb-PACをインストールしてご利用ください。

  1. b-PAC のバージョンによって対応 OS、対応エディター、対応機種が異なります。
    各バージョンの対応環境については「b-PAC 動作環境 」をご確認ください。
Q

開発を行う上で、参考になる資料等はありますか?

A

b-PAC SDKをインストールされたPCには、主な開発言語別のサンプルファイルに加え、ヘルプファイルもインストールされますので、ご活用ください。

○ファイルのアクセス先: Windowsメニュー → すべてのプログラム → Brother b-PAC3 SDK

Q

b-PAC SDK Ver.3.0以降で対応されたの新機能や特徴は何ですか?

A

新機能の追加

  • プリンターステータス検知
  • セットされているテープ幅検知
  • 印刷完了イベントの取得
  • ひとつのテキストオブジェクト内で複数フォントの使用設定
    など、これまでユーザー様からの要望の多かった機能を搭載しました。

従来の「組み込みやすさ」はそのまま

  • 高い評価をいただいている「簡単に組み込める」というb-PACの良さは継承。シンプルなインターフェイスでご希望のラベルを印刷するプログラムを作成できます。
  • 従来のバージョンのb-PACからb-PAC SDK Ver.3.0以降への移行は、機能の変更をしないのであれば、前バージョンをアンインストールしてb-PAC SDK Ver.3.0以降をインストールするだけです。b-PAC SDK Ver.3.0以降の新機能を使用する場合は、使用メソッドによっては従来部分の修正が必要になる場合がありますが、ドキュメントにコード書き換え例がありますので参考にしていただけます。
  • Open(), Close(), GetText(), SetText(), SetBarcodeData()などよく使われるメソッドは従来どおりですので、これらのメソッドのみを使用したプログラムでは、b-PAC SDK Ver.3.0以降の新機能を新たに追加しても従来部分の修正は不要です。

さらに、機能が強化

  • C#や.NETなど最近良く使われるプログラム言語でプログラムしやすいインターフェイスを追加。
  • ドキュメントがHTMLヘルプ形式になり、これまでよりも内容、検索性がアップしました。ドキュメントにはプログラムの書き換え例をすべてのメソッドについて記載。従来のバージョンをお使いのプログラムにb-PAC SDK Ver.3.0以降の新機能を追加する際の参考にしていただけます。
  • 内容を少し変更すればお客様の用途でそのまま使っていただけるような実践的なサンプルを追加しました。
Q

どのバージョンを使ったらよいですか?

A

b-PAC 動作環境」 からご確認ください。

ご利用の機種によっては、64bit版b-PACは、未対応の機種がございますので、ご注意ください。

なお、64bit版b-PACに未対応の機種(プリンター)で、64bit版Windows での活用の場合、32bit版として稼動するアプリケーションと、対応機種に適用可能な下記の A) または B) のb-PACのバージョンと組み合わせ、ご活用ください。
A) b-PAC Ver. 3.x の32bit版
B) b-PAC Ver. 3.0以下(32bit版となります。)

また、b-PACと利用アプリケーションの32/64bit版の組み合わせの参考情報は、以下のFAQです。
[Q] "b-PAC SDK の 32bit 版と 64bit 版のどちらを使用すればいいですか?"
[Q] "Visual Studioの開発環境でビルドする際にどのプラットフォームを選択すればいいですか?"

Q

古いバージョンから b-PAC SDK Ver.3.0 以降にバージョンアップするにはどうしたらよいですか?

A

バージョンアップ一例

例えば、現在お使いの状況が以下の場合
OS:Windows Vista
b-PACのバージョン:b-PAC SDK Ver.2.0.3

事例 / b-PACの対応 b-PAC SDK Ver.3.0以降のインストール b-PAC プログラム修正
事例1
Windows 7に変更したい
必要 不要
事例2
b-PAC SDK Ver.3.0以降の新機能を使いたい
必要 必要*1
  • *1 従来のバージョンと同じメソッドのみ使っている場合は従来部分の変更は不要(新しい機能部分だけ追加すればよい)。
    詳細は下記の表をご覧ください。

b-PAC SDK Ver.2.0.3メソッド一覧

以下の表は、b-PAC SDK Ver.2.0.3 で使用していたメソッドを、b-PAC SDK Ver.3.0 以降を使用する場合の注意点をまとめました。よく使われる基本的なメソッドは b-PAC SDK Ver.3.0 以降でもそのまま使えます。

メソッド名 b-PAC Ver.3.0以降での変更有無 b-PAC SDK Ver.3.0以降を使用する際の注意点
Open() 要注意 /D でプリンター設定をしている場合は、新規SetPrinterメソッドを使用する
Close() -
Save() -
Export() 要注意 形式を指定する値が異なる
GetSheetSize() 長さ、幅、用紙名それぞれのパラメーターごとのメソッドに変更
GetTextCount() -
GetTextIndex() -
GetText() -
GetFontInfo() フォント名、文字飾りなどそれぞれのパラメーターごとのメソッドに変更
SetText() -
SetFontInfo() フォント名、文字飾りなどそれぞれのパラメーターごとのメソッドに変更
SetBarcodeData() -
ReplaceImageFile() 新規IObject::SetDataメソッドに変更
DoPrint() -
Q

ExcelやAccessのVBAを利用したプログラムで、b-PACの呼び出し部分で、エラーが発生して動作しません。

A

以下をご確認ください。

1) 64bit版Windows をご利用の場合
b-PACの、32bit 版か 64bit 版のどちらを使用するかについては、お客様が使用されるアプリケーションのバージョンと合わせてください。
詳しくは、以下のFAQを参照ください。
[Q]"b-PAC SDK の 32bit 版と 64bit 版のどちらを使用すればいいですか?"

2) VBAで必要なライブラリの参照設定がされているかどうかご確認ください。
VBAで、b-PACを使用する場合には、参照の設定が必要となります。
付属のサンプルファイルでは、既に設定済みのファイルが保存されおりますが、お客様にて、新規ファイルで作成する場合は、使用するコンポーネント名として、"Brother b-PAC 3.x Type Library"を指定して頂く必要があります。(チェック有の状態)

「参照の設定」方法については、以下のURL情報を参考にしてください。
(Microsoftのページが開きます)
http://msdn.microsoft.com/ja-jp/library/cc344108.aspx

Q

Visual Studioの開発環境でビルドする際にどのプラットフォームを選択すればいいですか?

A

b-PAC SDK には 32bit 版と 64bit 版があり、お客様が使用されるアプリケーションのバージョンと合わせていただく必要があります。
アプリケーションが 32bit で動作する場合は b-PAC SDK (32bit 版)、64bit で動作する場合は b-PAC SDK (64bit 版)という組み合わせになりますので、ビルドして作成されるアプリケーションと b-PAC のバージョンが合うようにプラットフォームを選択してください。
ただし、使用される機種によっては、b-PAC SDK(32bit版)のみ対応している場合がありますので、この場合、アプリケーションも32bitで動作させて下さい。

  • アプリケーションを32bitで動作させる場合、ビルド対象プラットフォームに「x86」を選択します。
    この場合OSが32bit版か64bit版かにかかわらず、b-PAC SDKは32bit版を利用します。
  • アプリケーションを64bitで動作させる場合、ビルド対象プラットフォームに「x64」を選択します。
    この場合OSは64bit版である必要があり、b-PAC SDKも64bit版を利用します。
Q

現在、PT-9500pc 用に b-PAC SDK Ver.1.5.6(もしくは Ver.2.0.3)にてソフトウェアの開発を行い、使用しています。後継製品の PT-9700PC/ PT-9800PCN で b-PAC SDK Ver.1.5.6(もしくは Ver.2.0.3)は動作しますか?

A

PT-9700PC/PT-9800PCNにはb-PAC SDK Ver.3.0以降が必要です。それ以前のバージョンのb-PACでは対応しておりません。b-PAC SDK Ver.3.0以降への変更してください。以下の変更方法をご確認ください。

Step1.
b-PAC SDK Ver.3.0以降 をインストールしてください。
クラインアント用途のPCにはb-PAC SDK Ver.3.0以降のクライアントコンポーネントをインストールしてください。

Step2.
印刷先のターゲットプリンターの指定をPT-9700PCもしくはPT-9800PCNに変更してください。
その方法は2つあります。以下のどちらかの方法で指定を変更してください。

方法その1
テンプレートファイル(*.lbl, *.lbx)を開き、プリンターをPT-9700PCもしくはPT-9800PCNに変更して、保存し直してください。

方法その2
Openメソッドで、/Dオプションを使い、プリンターをPT-9700PCもしくはPT-9800PCNに指定します。例えば以下のようにしてください。
Open("C:¥Program Files¥Brother bPAC SDK¥Templates¥NamePlate1.lbl /DBrother PT-9700PC")

Q

P-touch Editor 5.0 で作成されたテンプレートファイル(.lbx)を使用できる b-PAC のバージョンは何ですか?

A

b-PAC SDK Ver.2.0 以降で使用できます。

Q

b-PAC を使用してラベル印刷システムを開発するためには、最低限、何が PC にインストールされている必要がありますか?

A

開発環境の他には、b-PAC SDK、ブラザーラベルプリンターのプリンタードライバー、P-touch Editor が必要です。

Q

VB.NET でも出力できますか?

A

可能です。Ver.1.5.3 以降の b-PAC コンポーネントではマニュアルに VB.NET での利用方法の記載を追加したほか、サンプルプロジェクトも追加していますので、ご確認ください。

Q

Delphi で出力できますか?

A

b-PAC のコンポーネントは、COM コンポーネントとして実装されています。
Delphi 5 以降は、b-PAC のようなCOM オートメーションオブジェクトをハンドリングできます。( b-PAC を使った実際の動作確認は弊社では行なっておりません。)それより古いバージョンで COMオブジェクトがハンドリングできるかは、Delphi 開発元 Embarcadero Technologies 社にご確認ください。

<プログラム例>
Test.lbl というテンプレートファイルのテキストを 'Hello World!' に変更して印刷します。

procedure TForm1.LabelPrintClick(Sender: TObject);
var
	V: Variant;
begin
	try
		V := CreateOleObject('BrssCom.Document');
	except
		ShowMessage('Could not start b-PAC component.');
	Exit;
end;

if (V.Open('C:¥Test¥Test.lbl') <> 0) then
	begin
		V.SetText(0. 'Hello World!');
		V.DoPrint(0, '0');
	end;

	V := Unassigned;
end;
Q

JavaScript で出力できますか?

A

b-PAC のコンポーネントは、COM コンポーネントとして実装されています。Internet Explorer 以外をホストアプリケーションとした JavaScript では、COM コンポーネント (あるいは Active X)を呼び出すことができないため、使用することはできません。

Internet Explorer あるいは Windows Scripting Host では、JavaScript に似た JScript と呼ばれるスクリプト言語をサポートしています。 JScript では COM コン ポーネントを呼び出すことができます。 JavaScript は、Internet Explorer およびそれ以外のホストアプリケーションで動作しますが、JScript では Internet Explorer のみでの動作となりますので、ご注意ください。

b-PAC を IIS (Internet Information Server) を使ったWebサーバーの ASP (Active Server Pages) 上の VB Script から呼び出すように実装し、クライアントアプリケーション(一般的には Webブラウザー)では b-PAC コンポーネントを直接呼び出さずに、 Webサーバーに処理させるという方法があります。この方法であれば、間接的に JavaScript などからでも、b-PAC コンポーネントを使ったラベル出力が可能になります。

Q

Mac やUNIX® 等では使えませんか?

A

Windows 環境下でのみご利用いただけます。他の環境に関しましては、現在のところ開発の予定はありません。

Q

Lotus Notes® で出力できますか?

A

Notes R5 以上の LotusScript からは、b-PAC のような COMインターフェイスの呼び出しが可能です。詳細はロータスのホームページ等でご確認ください。

Q

b-PAC SDK Ver.2.0 を使った従来のシステムに、b-PAC SDK Ver.3.0 以降の新機能を追加したいのですが、どうすればいいですか?

A

b-PAC SDK Ver.3.0 以降から新規に搭載された機能を使用するには、b-PAC SDK Ver.3.0 以降にバージョンアップしてください。 b-PAC SDK Ver.3. 0以降のインターフェースと b-PAC SDK Ver.2.0 および b-PAC SDK Ver.2.0 のインターフェースの共存はできませんので、b-PAC SDK Ver.2.0 および b-PAC SDK Ver.2.0 の一部のメソッドを、b-PAC SDK Ver. 3.0 以降のメソッドに修正が必要です。ヘルプ内に書き換えサンプルがありますので、ご確認ください。

Q

b-PACのバージョンを確認する方法を教えてください。

A

b-PAC SDK Ver.3.0 以降では、C:¥Program Files¥Common Files¥Brother¥bPACのbPAC.dll を右クリックしてプロパティを開くと表示されます。
b-PAC SDK Ver.2.xx 以前では、C:¥Program Files¥Common Files¥Brother BrssComのBrssCom.exe をダブルクリックすると表示されます。

Q

Java からの印刷はできますか?

A

b-PAC は COMコンポーネントですので、Java からCOMコンポーネントを呼ぶ仕組みがあれば、Java から b-PAC を使用できる可能性があります。
弊社では動作保証はできかねませんが、ご参考情報として、Java と COMのブリッジとなるようなミドルウェアを利用されているお客様もいらっしゃいます。

Q

Web アプリケーションから印刷する方法を教えてください。

A

「b-PAC活用資料」をご確認ください。

Q

Windows で Webブラウザからの印刷はできますか?

A

Internet Explorer からは、b-PAC を使用することができます。
その場合、Internet ExplorerはActiveXが動作する設定にする必要があります。
Microsoft Edge からは、Active X を呼び出せないため b-PAC を使用することはできません。

Q

PJ-773、PJ-763MFi、PJ-763、PJ-723で印刷完了イベントは通知されますか?

A

b-PAC SDK (32bit 版) Ver.3.1.004、b-PAC SDK (64bit) Ver.3.1.003 のバージョンでは、
PJ-773/ 763MFi/ 763/ 723 で使用する場合、印刷完了イベントは通知されません。

Q

VBScriptを利用したプログラムで、b-PACの呼び出し部分で、エラーが発生して動作しません。

A

1) 64bit版Windows をご利用の場合
b-PACの、32bit 版か 64bit 版のどちらを使用するかについては、お客様が使用されるアプリケーションのバージョンと合わせてください。
詳しくは、以下のFAQを参照ください。
[Q] "b-PAC SDK の 32bit 版と 64bit 版のどちらを使用すればいいですか?"

2) 64bit版WindowsでVBScriptを32bitアプリで動かすには、wscript.exe(32bit版)を使用する必要があります。
例)コマンドプロンプトからVBScript(例:NamePrn.vbs)を起動するには、以下のように実行します。
%systemroot%\syswow64\wscript.exe NamePrn.vbs

b-PAC の仕様・既知の問題点

Q

複数台のプリンターへ印刷を振り分けるにはどうすればいいでしょうか?

A

基本的な方法として、以下の2つの方法があります。
なお、実際に稼働させるWindowsOS上に、振り分けする台数分のプリンタドライバーが、別名、別出力先で存在している必要があります。

  1. テンプレートファイル毎に出力先をそれぞれのプリンタに設定して作成します。
    これにより、印刷時にはテンプレートファイルを使い分けて印刷先を振り分けることが出来ます。

  2. テンプレートファイルは印刷内容に従って用意し、b-PACプログラム内でSetPrinterメソッドを使用して出力するプリンタを変更します。
    プログラム内では、Openメソッドを呼ぶとテンプレートに設定しているプリンタがまず選択され、その後にSetPrinterメソッドを呼んでプリンタを切り替えるという流れになります。
    また、GetInstalledPrintersメソッドをご使用すると、インストールされているプリンタドライバ名一覧をb-PACプログラムから取得することができます。

    SetPrinterとGetInstalledPrintersの詳細についてはb-PAC SDK ヘルプの bpac::IDocument::SetPrinter と bpac::IPrinter::GetInstalledPrinters を参照してください。
    ○ヘルプファイルのアクセス先:
    Windowsメニュー → すべてのプログラム → Brother b-PAC3 SDK

Q

複数のプリンタードライバーがインストールされているときに、任意のプリンターから印刷できません。

A

印刷したいプリンターが接続され電源が ON になっているか確認してください。
ラベルテンプレートファイルで設定しているラベルプリンターと、実際に接続されているラベルプリンターが異なっていると思われます。ラベルテンプレートファイルを P-touch Editor で開いて使用するラベルプリンターの設定を変更してください。

Q

これまで使っていたラベルプリンターから異なる製品に変更する場合、必要な設定変更を教えてください。

A

ラベルテンプレートファイルには、使用するプリンター情報が含まれていますので、新しいプリンター情報を含むラベルテンプレートファイルを用意する必要があります。

新しく使用するラベルプリンターのプリンタードライバーをインストールし、ラベルテンプレートファイルを P-touch Editor で開いて、新しいラベルプリンタードライバーを選択して ください。使用する製品によって、表示領域が若干異なることがありますので、ラベルデザインを確認していただき、保存しなおしてください。

また、これまで使っていたラベルプリンターを今後使用しない場合には、プリンタードライバーを削除することをお勧めします。

Q

Open() に時間がかかっています。

A

Open() 時、内部的に接続されているプリンターにアクセスしております。たとえば、ネットワーク上に電源 OFF されたプリンターのように、レスポンスが返ってこないプリンターが接続されている場合、Open() に時間がかかります。

Q

印刷結果で文字の一部がかけてしまいます。

A

PC の機種によってディスプレイドライバーのバグなどで印刷時に文字が欠ける現象が確認されています。ディスプレイメーカーの Web などを確認して、最新のディスプレイドライバーに更新されることをおすすめします。更新されたディスプレイドライバーが入手できない場合は、以下のような方法で症状が改善される場合があります。

「画面のプロパティ」 - 「設定」 - 「詳細」 - 「トラブルシューティング」 - 「ハードウェアアクセラレータ」 の設定(通常は最大)を 1 段階下げる。

この方法でもうまくいかない場合は、お手数ですが 「b-PAC に関するお問い合わせ」 よりお問い合わせください。

Q

マニュアルに記載の 「bpoContinue フラグを使った複数ラベルの一括印刷例」 を実行すると、製品によって出力結果が違います。

A

同じプログラム内容でも、製品仕様の違いにより出力結果が異なります。
PT-9500pc をご利用の場合、ラベル一枚一枚を切り落とさずに、連続してハーフカットする機能があり、この機能を生かしたラベル作成が可能です。

PT-9500pcの場合の出力結果

PT-9300pc や PT-9200pc をご利用の場合、PT-9500pc のような、連続ハーフカット機能はありませんので、ラベル一枚一枚が切り落とされ、そのそれぞれに、ハーフカットがついた形で出力されます。

PT-9300pcまたはPT-9200pcの場合の出力結果
Q

サーバー上のアプリケーションプログラムから、クライアント PC につないだ P-touch に印刷させることはできますか?

A

可能です。印刷データを作成する PC に b-PAC とプリンタードライバーをインストールしてください。
ただし、印刷データをサーバーで作成する場合には、クライアント PC にも b-PAC か P-touch Editor をインストールしてクライアント PC 側でラベルテンプレートを印刷するアプリケーションが必要です。

Q

サーバーにつないだ P-touch に、クライアント PC から印刷させることはできますか?

A

可能です。サーバーに b-PAC とプリンタードライバーをインストールしてください。

Q

2種類の幅のシールを作成したいため、1 台のパソコンにて 2台の PT-9500pc を使用したいのですが可能ですか?

A

可能です。テンプレートにはプリンター名を記憶していますので、それぞれのテンプレートをエディターで作成するときに、印刷したいプリンターを選択して作成してください。
PT-9500pc を複数台 USB にて接続する場合は、USB IDスイッチを 「1」(個別IDモード)に設定してください。

Q

2種類のシールを作成したいため、1台のパソコンにて異なる製品のラベルプリンターを 2台使用したいのですが可能ですか?

A

可能です。それぞれのプリンタードライバーをインストールし、P-touch Editor でそれぞれのラベルプリンターを選択してラベルテンプレートファイルを作成してください。

Q

ReplaceImageFile() を使って、ピクチャボックスで表示中の JPGファイルを指定すると、「例外(アプリケーションの内部エラー)」 が発生します。

A

b-PAC SDK Ver.2.0以前では、ピクチャボックスに画像ファイルを単純に表示するとファイルがロックされ、そのファイルに対する操作ができなくなります。
対処方法は、http://dobon.net/vb/dotnet/graphics/drawpicture2.html [新しいウィンドウ](「DOBON.NET プログラミング道」のサイトへリンクします。)をご確認ください。

b-PAC SDK Ver.3.0ではこの不具合を解消しております。

Q

テキストオブジェクトに「日付と時刻」オブジェクトを含めると動きません。

A

P-touch Editor 5.0 以降では、テキストオブジェクトに日付と時刻オブジェクトを挿入することができますが、b-PAC ではこれを処理できません。b-PAC で日付と時刻オブジェクトを使用するときは、テキストオブジェクトの中に含めず、日付と時刻オブジェクトとしてラベルテンプレートファイルに配置してください。

b-PAC の再配布

Q

クライアントの b-PAC をバージョンアップするにはどうしたらいいですか?

A

弊社が提供する CCI でクライアントの PC に上書きインストールするか、b-PAC SDK 同梱のマージモジュールを組み込んだインストーラーを作成してクライアントの PC にインストールしてください。

Q

開発環境でないPCにb-PACをコピーするにはどうしたらいいですか?

A

b-PAC のダウンロードページにクライアントインストーラーパッケージがありますのでダウンロードしてご利用ください。b-PAC を使用したアプリケーションの動作に必要なコンポーネントがインストールされます。
(SDK に含まれるドキュメント、サンプル、サンプル用テンプレートファイルなどはコピーされません。使用するPCに P-touch のドライバーが正しくインストールされている必要があります。)

Q

印刷を実行すると 「実行時エラー'429' ActiveX コンポーネントはオブジェクトを作成できません」 のエラーになります。

A

CCIでb-PACをインストールして印刷できれば、msxml4.dllやgdiplus.dllなどの必要なモジュールが足りないのが原因です。

MSXML4は以下のページから

GDI+は以下のページから

それぞれダウンロードが可能です。最新版であることを確認し、必要なものをインストーラーに組み込んでください。
Windows 2000をご使用の場合、上記の2つとも必要で、Windows XPをご使用の場合、MSXML4のみ必要です。
なお、これらはWindows のシステムフォルダーにインストールする必要があります。

Q

再配布用マージモジュール (bPAC3.msm) を利用して作成したインストーラーによりインストールした環境で、印刷を実行 するとエラーが発生します。

A

作成したインストーラーに、必要なモジュール が足りないのが原因です。
ご利用のb-PACのバージョンに合わせ、インストールプロジェクトに以下のMicrosoft提供のマージモジュール等を追加して、インストーラーを再作成してください。

※ 下記のマージモジュールは、Visual StudioをインストールしたPCのプログラムフォルダ内に、通常格納されています。
   例) C:\Program Files (x86)\Common Files\Merge Modules\

○b-PAC 3.0の場合
 ・Visual C++ 8.0 MFC (Microsoft_VC80_MFC_x86.msm)   ※Visual Studio 2005 に格納
 ・Visual C++ 8.0 CRT (Microsoft_VC80_CRT_x86.msm)   ※Visual Studio 2005 に格納
 ・追加で、GDI+とMSXML4も必要となる場合があります。以下のFAQを参照ください。
   [Q]"印刷を実行すると 「実行時エラー'429' ActiveX コンポーネントはオブジェクトを作成できません」 のエラーになります。"

○b-PAC 3.2の場合
<32bit版>
 ・Visual C++ 14.0 MFC (Microsoft_VC140_MFC_x86.msm)  ※Visual Studio 2015に格納
 ・Visual C++ 14.0 CRT (Microsoft_VC140_CRT_x86.msm)  ※Visual Studio 2015に格納
<64bit版>
 ・Visual C++ 14.0 MFC (Microsoft_VC140_MFC_x64.msm)  ※Visual Studio 2015に格納
 ・Visual C++ 14.0 CRT (Microsoft_VC140_CRT_x64.msm)  ※Visual Studio 2015に格納
 ・Visual C++ 11.0 CRT (Microsoft_VC110_CRT_x64.msm)  ※Visual Studio 2012に格納

サンプル

Q

SDK に含まれるサンプルの印刷ボタンを押すと 「実行時エラー ActiveX コンポーネントはオブジェクトを作成できません」 というエラーになります。

A

サンプルプログラムの実行には、b-PAC とプリンタードライバーをインストールしてください。

Q

SDKに含まれるサンプルを動かすと、媒体エラーとなります。

A

サンプルで使用しているテープサイズの設定と、実際にラベルプリンターにセットされているテープサイズが異なっていると思われます。
サンプルのラベルテンプレートファイル(通常は C:¥Program Files¥Brother bPAC SDK¥Templates にインストールされています)を P-touch Editor で開いてテープサイズをラベルプリンターにセットされているテープサイズに変更してください。

Q

SDK に含まれるサンプルを動かしても、印刷されません。

A

以下の3点をご確認ください。

1) b-PACを利用しない、標準ソフト:P-touch Editor からの通常印刷の可否のご確認

b-PACを利用した印刷の為には、P-touch Editorからの通常印刷ができる環境が前提となります。
P-touch Editorからの通常印刷ができない状況の場合、プリンタードライバー設定や接続等の環境を確認していただく必要があります。
通常印刷を解決する為のオンラインサポートサイトと、開発ツール以外の総合サポート窓口を以下に、ご案内いたします。
 ● ブラザーソリューションセンター
 b-PAC等 開発ツール以外の通常の製品サポート窓口
  ※ ご利用機種の製品カテゴリーを選択してください。

2) 64bit版Windowsをご利用の場合

b-PACの、32bit 版か 64bit 版のどちらを使用するかについては、お客様が使用されるアプリケーションのバージョンと合わせてください。
詳しくは、以下のFAQを参照ください。
 [Q] "b-PAC SDK の 32bit 版と 64bit 版のどちらを使用すればいいですか?"
 [Q] "Visual Studioの開発環境でビルドする際にどのプラットフォームを選択すればいいですか?"

3) テンプレートファイルの保存パスのご確認

ラベルテンプレートファイル(.lbxファイル)のパスが正しいかどうかをご確認ください。
Excel VBA の例では、プログラム中に記載されている
Const sPath = "C:\Program Files\Brother bPAC3 SDK\Templates\Asset1.lbx"
のパスと実際のテンプレートファイル(Asset1.lbx)の保存場所が一致している必要があります。
○見直しが必要な例)
 ・テンプレートファイルの保存場所やファイル名を変えた場合
 ・64bit版Windows にb-PAC 32bit版をインストールして、ご利用の場合は、下記の下線部の保存パスの変更
  [C:\Program Files (x86)\Brother bPAC3 SDK\Templates\Asset1.lbx]

Q

実践サンプルパッケージをダウンロードしましたが、印刷ボタンを押すと 「実行時エラー ActiveX コンポーネントはオブジェクトを作成できません」 というエラーになります。

A

実践サンプルパッケージの使用には、b-PAC とプリンタードライバーをインストールしてください。

Q

実践サンプルパッケージの印刷ボタンを押しても印刷されません。

A

以下の内容をご確認ください。

  • プリンターを接続し、必ず電源 ON にしてください。
  • サンプルのラベルテンプレートファイル(.lblあるいは.lbx)を P-touch Editor で開いて、実際に使用するテープサイズとラベルプリンターの設定を確認してください。サンプルのラベルテンプレートで設定されているテープサイズおよびラベルプリンター名と、実際にセットされているテープサイズおよびラベルプリンター名が同じでなければいけません。

メソッド

Q

プリンターステータスを取得できますか?

A

USB接続の場合は、b-PAC SDK Ver.3.0以降のバージョンのご利用で、プリンターがオンラインかどうかが確認できます。
b-PAC 3.x SDKヘルプ内の下記部分の記載をご参照ください。
○ 「サンプルコード」→「プリンターオンラインチェック」
但し、ネットワーク接続(有線・無線)の場合は、プリンターがオンラインかどうかは確認できません。

また、印刷要求を行った後に、その成否を確認する方法については、b-PAC 3.x SDKヘルプ内の下記部分の記載をご参照ください。
○ 「サンプルコード」→「印刷完了イベントハンドリング & コールバック」

Q

テキストのインデックス順はどうやって確認するのですか?

A

ラベルテンプレートファイルを P-touch Editor で開いてください。P-touch Editor 5.0 では、Professional モード画面の右側で「順序を表示」タブで、ラベルテンプレートファイル に含まれるオブジェクトが、順番に表示されます。一番上に表示されたテキストが一番最後に入力されたテキストで、インデックス 0 になります。
P-touch Editor 4.2 以前では、「表示」 メニューから 「テキストボックス」 を選択してください。ラベルテンプレートファイルに含まれるテキストオブジェクトが 「<<ボタン >>」 ボタンで順番に表示されます。

Q

テキストオブジェクトのインデックス順番の変更は可能ですか?

A

ラベルテンプレートファイルを P-touch Editor で開いてください。P-touch Editor 5.0 では、Professional モード画面の右側で「順序を表示」タブで、ラベルテンプレートファイル に含まれるオブジェクトが、順番に表示されます。この中で順番を変更したいテキストオブジェクトを選択し、任意の位置にドラッグすると、そのテキストオブジェクトのインデックスが変更されます。
P-touch Editor 4.2 以前では、順番を変更したいテキストオブジェクトを選択し、右クリック→順序を選択し、希望の順番になるように変更してください。

Q

プリンターモニタを非表示にしたいのですが、どうしたらいいですか?

A

「プリンターとFAX」 でラベルプリンターのプロパティを表示し、「ポート」 タブで 「双方向サポートを有効にする」 のチェックをはずしてください。

Q

改行のあるテキストオブジェクトの各行のテキストを入れ替えるにはどうしたらいいですか?

A

テキストオブジェクトを

aaa
bbb

とし、aaa をテキスト0、bbb をテキスト1 として SetText() してください(インデックスの数字は、作成したラベルテンプレートの内容によって異なります)。

Q

カット方法を、オートカット以外の方法に設定したり、複数枚のラベル印刷時に組み合わせて利用する事ができますか?

A

カットオプションの設定方法については、下記の「b-PAC SDK ヘルプ」内に、詳細説明がございますので、ご参照ください。

  ○ヘルプファイルのアクセス先と該当説明部分:
 Windowsメニュー → すべてのプログラム → Brother b-PAC3 SDK → b-PAC 3.x ヘルプ
  ⇒ [APPENDIX] → [主な機種ごとのカットオプションの組み合わせと印刷結果例]

  ご利用機種によって、利用可能なカットオプションは異なる為、ヘルプ内の‘機種別情報’タブで、該当機種の項目をご確認ください。

※ カットオプションを組合わせて設定していただく場合は、カットオプション同士を、 “Or演算子”で繋ぐ。
※ PrintOutコマンドの2番目の引数は、無効の為、“0”で良い。

◇カットオプションの組み合わせ利用例)
PT-P900Wで、ハーフカットを行い、最後をつなげて印刷する場合
(最後は手動でカットする)
 === (VBAの場合) ===
 〔※前段部省略〕
ObjDoc.StartPrint "Document_xxxx", bpoHalfCut Or bpoChainPrint
 〔ループコマンドがある場合、ループ開始コマンドは、StartPrintより後ろに配置〕
ObjDoc.PrintOut 1, 0
 〔ループコマンドがある場合、ループ終了コマンドは、PrintOutとEndPrintの間に配置〕
ObjDoc.EndPrint
===

Q

印刷と印刷の間に余白を作らない方法を教えてください。

A

お使いの製品のカット機能と、b-PAC のカットオプションの設定の組み合わせにより、複数枚のラベル印刷時に限り、ラベルとラベルの間の余白をなくすことが可能な場合があります。
詳しくは、b-PAC SDK Ver.3.0 ヘルプの「主な機種ごとのカットオプションの組み合わせと印刷結果例」をご確認ください(ヘルプのみのダウンロードも可能です)。

詳しくは 「b-PAC のダウンロード」 をご覧ください。

Q

印刷結果のプレビューを表示することは可能ですか?

A

可能です。b-PAC コンポーネントには、Export メソッドがあります。Export メソッドは、指定フォルダに指定 dpi のビットマップファイルを作成することができます。

プリンターの解像度の数値(例えば PT-9500pc の場合は 360、PT-2430PC は 180、QLシリーズの場合は 300 など、お手持ちの製品マニュアルにてご確認ください)を指定すれば、実際に印字されるものと同じイメージのビットマップが作成されます。

Export メソッドを使用することにより、直接画面上にプレビューすることはできませんが、印刷する前に出来上がりイメージを確認することができます。Export メソッドの具体的なご使用方法は、b-PAC SDK ドキュメント(b-PAC SDK Ver.3.0 ではヘルプ)および b-PAC SDK をインストールした際の ¥Samples¥VBS¥VBS_NamePlate.html などをご参照ください。

Q

イメージを置き換える場合、縦横比率を維持して置き換えるにはどうしたらいいですか?

A

b-PAC SDK Ver.1.5.4 以降では、縦横のアスペクト比を保つオプションが選択できるようになりました。
b-PAC SDK Ver.3.0 では、IObject::SetData() の第3パラメーターに 4 を設定してください。
b-PAC SDK Ver.2.0 以前のバージョンでは、ReplaceImageFile() の第3パラメーターに 4 を設定してください。

Q

CODE128 で FNC1 等の制御コードを含んだバーコードデータの設定方法を教えてください。

A

b-PAC SDK Ver.1.5.4 以降では、CODE128/ EAN128 のバーコードデータに制御コードを設定できます。
例えば、"1234"FNC1"567"FNC1 というデータを設定する場合には、

ObjDoc.SetBarcodeData 0, "1234¥a567¥a"(VBScript の場合)

と書くと設定できます。
あるいは、b-PAC SDK Ver.3.0 では IObject::Text プロパティに、値を "1234¥a567¥a" としても設定できます(Microsoft Visual C++ 等の場合は "¥¥a" と設定してください)。
制御コードの置換ルールは

FNC1 "¥a"
FNC2 "¥b"
FNC3 "¥c"
FNC4 "¥d"

となっています。

P-touch Editor

Q

CODE128/EAN128は何桁まで対応可能ですか?

A

P-touch Editor 4.0、および、b-PAC SDK Ver.1.4 以降では、最大250桁まで対応しています。最新版をダウンロードしてご利用ください。
P-touch Editor 3.x では 30桁までしか対応しておりませんので、30桁以上のデータを印刷したい場合は、テンプレートを作成する際に、データの桁数が増えてもバーコードが収まるようにテンプレートにスペースを確保しておく必要があります。

Q

バーコードのサイズ変更は可能ですか?

A

b-PAC SDK Ver.3.0 では可能です。
b-PAC SDK Ver.2.0 以前では、以下のように対応の必要があります。

たとえば、用途に応じてバーコードの大きさを 4cm、6cm と変えたい場合は、P-touch Editor で、あらかじめ 4cm のバーコードのテンプレート、および、6cm のテンプレートの 2種類のファイルを作っていただき、プログラムでその 2種類のファイルを使い分ける方法が便利です。ただし、P-touch Editor 上でのバーコードの幅の設定は、P-touch の印刷精度との関係で、大中小(および極小)の 3段階(または 4段階:P-touch Editor と P-touch の解像度によって異なります)のみとなります。

Q

P-touch Editor でデータベースとマージしたラベルレイアウトファイル(.lbl) は、Open() メソッドで開かないのですか?

A

b-PAC コンポーネントそのものにはデータベース接続機能はないため、データベースとマージしたレイアウトファイルをテンプレートとして使用することはできません。データベースとの繋ぎは b-PAC やレイアウトファイルではなく、お客様のプログラムで行っていただく必要があります。
データベースとマージしていないレイアウトを新規に作成し、テンプレートとしてご利用ください。

以下、すでにデータベースとマージしたレイアウトから、b-PAC でテンプレートとして利用できるレイアウトを簡単に作成する手順です。

  1. 1. P-touch Editor でデータベースとマージしたレイアウトを開きます。
  2. 2. メニューから[ファイル] - [データベース] -[切断] を実行します。
  3. 3. メニューから [ファイル] - [名前をつけて保存] で新規に保存します。

このレイアウトはデータベースとはマージしていませんので、 b-PAC でテンプレートとして使用することができます。

Q

印刷するテキストの量に応じてテープの長さを可変にすることは可能ですか?

A

P-touch Editor上で、次のように設定することにより可能です。

< 行数に応じてラベルの長さを可変にしたい場合 >

用紙とテキストの向き 「用紙の向きを縦、テキストの向きを横」、または「用紙の向きを横、テキストの向きを縦、回転角度を180°」
テープの長さ 「自動」
テキストオブジェクトのプロパティの「文字の制御」 「長文」

「長文」に設定した場合、Openメソッド後、何度も同じオブジェクトにSetTextメソッドを呼ぶと最大サイズのまま固定されてしまいます。これを解決する為には、効率は落ちますが印刷の都度、Openメソッド、Closeメソッドを呼んでください。

< 1行の長さに応じてラベルの長さを可変にしたい場合 >

用紙とテキストの向き 「用紙とテキストの向きを横」、または「用紙とテキストの向きを縦」
テープの長さ 「自動」
テキストオブジェクトのプロパティの「文字の制御」 「自動長」または「フリーサイズ」
Q

一つのテキストオブジェクト内で、入れ替えるテキストデータの長さに応じて改行するには、どうしたらいいですか?

A

オブジェクトの「文字の制御方法」に「枠サイズ固定折り返し」を設定してください。テキストオブジェクトの幅からはみ出る分は次の行になります。
任意の場所で改行したい場合は、入れ替えるテキストデータに改行コードを含めてください。
ご参考までに、b-PAC SDK Ver.3.0 に含まれる VBA用サンプルの Asset1.xls をご確認ください。

Q

テキストオブジェクトのプロパティ 「文字の制御方法」 について教えてください。

A

「文字の制御方法」は作成したいラベルによって、テキストを印刷する領域を一定にし文字サイズを自動的に拡大縮小したり、文字サイズを固定したりするといった機能です。P-touch Editor上でテキストオブジェクトのプロパティを表示させて設定します。詳細は、P-touch Editorのヘルプ「テキストの表示方法を選択する」をご確認ください。

「枠サイズ固定」 文字を追加・削除しても、枠サイズは変更されません。各文字の縦横の比率を保ったまま、入力した文字をすべて表示するように拡大縮小します(ただし拡大は最初に 入力されたサイズまでです)。
「枠サイズ固定(折り返し)」 文字を追加・削除しても、枠サイズは変更されません。入力されたテキストがオブジェクト幅を超えた場合は、自動的にテキストを折り返し、表示しきれなくなったら 縦横の比率を保ったまま縮小して全体を表示します。
「長文」 文字が追加された場合、オブジェクト枠からあふれた文字は自動的に折り返され、オブジェクト枠も縦に拡大されます(横幅は変更されません)。
「自動長」 文字を追加すると、オブジェクトの長さ(横幅)が長くなります。オブジェクト枠の高さ(縦幅)は変更されません。
「フリーサイズ」 文字の増減に合わせてオブジェクト枠が拡大縮小され、オブジェクト枠いっぱいに文字が表示されます。
Q

Unicode は使えますか?

A

はい、使えます。P-touch Editor 5.0 で作成したレイアウトファイルを、b-PAC SDK Ver.2.0 以降で使用してください。

ダウンロード

FAQ(よくあるご質問)

お問い合わせ

ご購入を検討中のお客様へ

ご利用中のお客様へ(サポート)

開発をご検討中のお客様へ

  • 目的から選ぶ

    印刷したい、プリンターを設定・管理したい場合はこちらからご確認ください

  • b-PAC

    Windows 向けアプリケーション開発ツールについてのご案内

  • モバイル SDK

    モバイル端末向けアプリケーション開発ツールのご案内

  • コマンドリファレンス

    ラベルプリンターやモバイルプリンターの制御コマンドリファレンスのご案内

  • 機種から選ぶ

    ご利用の機種から、提供しているツールのご紹介

  • 導入事例

    開発ツールを利用した導入事例のご紹介

このページをシェアする