FAQ(よくあるご質問) : b-PAC
b-PAC に関して、これまでお問い合わせの多かった項目について、以下にお答えしております。 お手数ですが、電子メールなどでご質問をお送りいただく前に、以下の内容をご参照ください。
動作環境・b-PAC のバージョン
b-PAC SDK の 32 bit 版と 64 bit 版のどちらを使用すればいいですか?
32 bit 版、64 bit 版のどちらを使用するかについては、使用されるプリンターの機種、アプリケーション、および Windows OS の組み合わせによります。
Windows OS が 32 bit 版の場合、b-PAC SDK およびお客様が使用されるアプリケーションは 32 bit 版となり、使用機種も b-PAC SDK 32 bit 版に対応している必要があります。
Windows OS が 64 bit 版の場合には、b-PAC SDK 64 bit 対応機種を使って b-PAC SDK および使用されるアプリケーションを 64 bit 版でそろえるか、b-PAC SDK 32 bit 対応機種を使って b-PAC SDK および使用されるアプリケーションを 32 bit 版でそろえるかのいずれかの方法になります。
Windows OS が 32 bit 版/64 bit 版混在の環境においては、アプリケーションを 32 bit 版で運用する事で b-PAC は 32 bit 版の利用となり、Windows OS の 32 bit版/64 bit 版の変動による組み合わせ管理が低減されます。
Office ソフトにも 32 bit/64 bit のバージョンがありますのでご注意ください。
組み合わせが異なる b-PAC をインストール済みの場合は、一旦アンインストールをした後、ご利用のアプリケーションと適合するbit版のb-PACをインストールしてご利用ください。
-
※
b-PAC のバージョンによって対応 OS、対応エディター、対応機種が異なります。
各バージョンの対応環境については「b-PAC 動作環境 」をご確認ください。
開発を行う上で、参考になる資料等はありますか?
b-PAC SDK をインストールされた PC には、主な開発言語別のサンプルファイルに加え、ヘルプファイルもインストールされますので、ご活用ください。
○ファイルのアクセス先: Windows メニュー → すべてのプログラム → Brother b-PAC3 SDK
b-PAC SDK Ver.3.0 以降で対応されたの新機能や特徴は何ですか?
新機能の追加
- プリンターステータス検知
- セットされているテープ幅検知
- 印刷完了イベントの取得
- ひとつのテキストオブジェクト内で複数フォントの使用設定
など、これまでユーザー様からの要望の多かった機能を搭載しました。
従来の「組み込みやすさ」はそのまま
- 高い評価をいただいている「簡単に組み込める」という 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 以降の新機能を追加する際の参考にしていただけます。
- 内容を少し変更すればお客様の用途でそのまま使っていただけるような実践的なサンプルを追加しました。
どのバージョンを使ったらよいですか?
「b-PAC 動作環境」 からご確認ください。
ご利用の機種によっては、64 bit 版 b-PACは、未対応の機種がございますので、ご注意ください。
なお、64bit版b-PACに未対応の機種(プリンター)で、64 bit 版 Windows での活用の場合、32 bit 版として稼動するアプリケーションと、対応機種に適用可能な下記の A) または B) の b-PAC のバージョンと組み合わせ、ご活用ください。
A) b-PAC Ver. 3.x の 32 bit 版
B) b-PAC Ver. 3.0 以下(32 bit 版となります。)
また、b-PAC と利用アプリケーションの 32/64 bit 版の組み合わせの参考情報は、以下のFAQです。
[Q] "b-PAC SDK の 32 bit 版と 64 bit 版のどちらを使用すればいいですか?"
[Q] "Visual Studio の開発環境でビルドする際にどのプラットフォームを選択すればいいですか?"
b-PAC を利用して印刷を実施した際に、「ActiveX コンポーネントはオブジェクトを作成できません」、「オートメーション サーバーはオブジェクトを作成できません」や「コンポーネントの COM クラス ファクトリを取得中に、次のエラー・・・」等のエラーが発生し、印刷できません。
利用アプリケーションと b-PAC の 32 bit 版/64 bit 版の組み合わせがあっているかをご確認ください。
自社開発等で「Any CPU」でビルドされたアプリケーションは、Windows OS の 32 bit 版/64 bit 版でアプリケーションの稼働プロセスが変化する為、b-PAC の 32 bit 版/64 bit 版の選択・組合せが変動してしまいます。
Windows OS が 32 bit 版/64 it 版混在の環境では、アプリケーションを「x86」固定でビルドし、b-PAC は 32 bit 版と組み合わせてご利用いただく事で、運用管理が低減します。
詳しくは、以下のFAQを参照ください。
[Q] "b-PAC SDK の 32 bit 版と 64 bit 版のどちらを使用すればいいですか?"
[Q] "Visual Studioの開発環境でビルドする際にどのプラットフォームを選択すればいいですか?"
古いバージョンから b-PAC SDK Ver.3.0 以降にバージョンアップするにはどうしたらよいですか?
バージョンアップ一例
例えば、現在お使いの状況が以下の場合
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() | 無 | - |
Excel や Access の VBA を利用したプログラムで、b-PAC の呼び出し部分で、エラーが発生して動作しません。
以下をご確認ください。
1) 64 bit 版 Windows をご利用の場合
b-PAC の 32 bit 版か 64 bit 版のどちらを使用するかについては、お客様が使用されるアプリケーションのバージョンと合わせてください。
詳しくは、以下の FAQ を参照ください。
[Q]"b-PAC SDK の 32 bit 版と 64 bit 版のどちらを使用すればいいですか?"
2) VBA で必要なライブラリの参照設定がされているかどうかご確認ください。
VBA で、b-PAC を使用する場合には、参照の設定が必要となります。
付属のサンプルファイルでは、既に設定済みのファイルが保存されおりますが、お客様にて、新規ファイルで作成する場合は、使用するコンポーネント名として、"Brother b-PAC 3.x Type Library"を指定して頂く必要があります。(チェック有の状態)
「参照の設定」方法については、以下の URL 情報を参考にしてください。
(Microsoft のページが開きます)
http://msdn.microsoft.com/ja-jp/library/cc344108.aspx
Visual Studio の開発環境でビルドする際にどのプラットフォームを選択すればいいですか?
b-PAC SDK には 32 bit 版と 64 bit 版があり、お客様が使用されるアプリケーションのバージョンと合わせていただく必要があります。
アプリケーションが 32 bit で動作する場合は b-PAC SDK(32 bit 版)、64 bit で動作する場合は b-PAC SDK(64 bit 版)という組み合わせになりますので、ビルドして作成されるアプリケーションと b-PAC のバージョンが合うようにプラットフォームを選択してください。
ただし、使用される機種によっては、b-PAC SDK(32bit版)のみ対応している場合がありますので、この場合、アプリケーションも 32 bitで動作させて下さい。
- アプリケーションを 32 bit で動作させる場合、ビルド対象プラットフォームに「x86」を選択します。
この場合 OS が 32 bit 版か 64 bit 版かにかかわらず、b-PAC SDK は 32 bit 版を利用します。 - アプリケーションを 64 bit で動作させる場合、ビルド対象プラットフォームに「x64」を選択します。
この場合 OS は 64bit 版である必要があり、b-PAC SDK も 64 bit 版を利用します。 - OS が 32 bit 版/64 bit 版混在の環境において共通アプリケーションによる運用を行うためには、アプリケーションは 32 bit で動作させる必要があり、ビルド対象プラットフォームは「x86」になります。
その際、b-PAC SDK も 32 bit 版を利用します。
現在、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)は動作しますか?
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")
P-touch Editor 5.0 で作成されたテンプレートファイル(.lbx)を使用できる b-PAC のバージョンは何ですか?
b-PAC SDK Ver.2.0 以降で使用できます。
b-PAC を使用してラベル印刷システムを開発するためには、最低限、何が PC にインストールされている必要がありますか?
開発環境の他には、b-PAC SDK、ブラザーラベルプリンターのプリンタードライバー、P-touch Editor が必要です。
VB.NET でも出力できますか?
可能です。Ver.1.5.3 以降の b-PAC コンポーネントではマニュアルに VB.NET での利用方法の記載を追加したほか、サンプルプロジェクトも追加していますので、ご確認ください。
Delphi で出力できますか?
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;
Mac やUNIX® 等では使えませんか?
Windows 環境下でのみご利用いただけます。他の環境に関しましては、現在のところ開発の予定はありません。
Lotus Notes® で出力できますか?
Notes R5 以上の LotusScript からは、b-PAC のような COMインターフェイスの呼び出しが可能です。詳細はロータスのホームページ等でご確認ください。
b-PAC SDK Ver.2.0 を使った従来のシステムに、b-PAC SDK Ver.3.0 以降の新機能を追加したいのですが、どうすればいいですか?
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 以降のメソッドに修正が必要です。ヘルプ内に書き換えサンプルがありますので、ご確認ください。
b-PACのバージョンを確認する方法を教えてください。
b-PAC SDK Ver.2.xx 以前では、C:¥Program Files¥Common Files¥Brother BrssComのBrssCom.exe をダブルクリックすると表示されます。
b-PAC SDK Ver.3.0 以降では、C:¥Program Files¥Common Files¥Brother¥bPACのbPAC.dll を右クリックしてプロパティを開くと表示されます。
いずれの場合も、64bit 版 OS に 32bit 版 b-PAC をご利用の際は、C:\Program FilesフォルダをC:\Program Files (x86) と読み替えてください。
Java からの印刷はできますか?
b-PAC は COM コンポーネントですので、Java からCOM コンポーネントを呼ぶ仕組みがあれば、Java から b-PAC を使用できる可能性があります。
弊社では動作保証はできかねませんが、ご参考情報として、Java と COM のブリッジとなるようなミドルウェアを利用されているお客様もいらっしゃいます。
Web アプリケーションから印刷する方法を教えてください。
「b-PAC活用資料」をご確認ください。
Windows で Web ブラウザからの印刷はできますか?
- Internet Explorer から b-PAC を使用することができます。Internet Explorer を ActiveX が動作する設定にする必要があります。
- Google Chrome™、Firefox、Microsoft Edge から b-PAC を使用することができます。Brother b-PAC Extension をお使いください。
PJ-773、PJ-763MFi、PJ-763、PJ-723 で印刷完了イベントは通知されますか?
b-PAC SDK (32bit 版) Ver.3.1.004、b-PAC SDK (64bit) Ver.3.1.003 のバージョンでは、PJ-773/ 763MFi/ 763/ 723 で使用する場合、印刷完了イベントは通知されません。
VBScriptを利用したプログラムで、b-PACの呼び出し部分で、エラーが発生して動作しません。
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 の仕様・既知の問題点
複数台のプリンターへ印刷を振り分けるにはどうすればいいでしょうか?
基本的な方法として、以下の2つの方法があります。
なお、実際に稼働させるWindowsOS上に、振り分けする台数分のプリンタドライバーが、別名、別出力先で存在している必要があります。
- テンプレートファイル毎に出力先をそれぞれのプリンタに設定して作成します。
これにより、印刷時にはテンプレートファイルを使い分けて印刷先を振り分けることが出来ます。 - テンプレートファイルは印刷内容に従って用意し、b-PAC プログラム内で SetPrinter メソッドを使用して出力するプリンタを変更します。
プログラム内では、Open メソッドを呼ぶとテンプレートに設定しているプリンタがまず選択され、その後に SetPrinter メソッドを呼んでプリンタを切り替えるという流れになります。
また、GetInstalledPrinters メソッドをご使用すると、インストールされているプリンタドライバ名一覧を b-PAC プログラムから取得することができます。
SetPrinter と GetInstalledPrinters の詳細については b-PAC SDK ヘルプの bpac::IDocument::SetPrinter と bpac::IPrinter::GetInstalledPrinters を参照してください。
○ヘルプファイルのアクセス先:
Windowsメニュー → すべてのプログラム → Brother b-PAC3 SDK
複数のプリンタードライバーがインストールされているときに、任意のプリンターから印刷できません。
印刷したいプリンターが接続され電源が ON になっているか確認してください。
ラベルテンプレートファイルで設定しているラベルプリンターと、実際に接続されているラベルプリンターが異なっていると思われます。ラベルテンプレートファイルを P-touch Editor で開いて使用するラベルプリンターの設定を変更してください。
これまで使っていたラベルプリンターから異なる製品に変更する場合、必要な設定変更を教えてください。
ラベルテンプレートファイルには、使用するプリンター情報が含まれていますので、新しいプリンター情報を含むラベルテンプレートファイルを用意する必要があります。
新しく使用するラベルプリンターのプリンタードライバーをインストールし、ラベルテンプレートファイルを P-touch Editor で開いて、新しいラベルプリンタードライバーを選択してください。使用する製品によって、表示領域が若干異なることがありますので、ラベルデザインを確認していただき、保存しなおしてください。
また、これまで使っていたラベルプリンターを今後使用しない場合には、プリンタードライバーを削除することをお勧めします。
Open() に時間がかかっています。
Open() 時、内部的に接続されているプリンターにアクセスしております。たとえば、ネットワーク上に電源 OFF されたプリンターのように、レスポンスが返ってこないプリンターが接続されている場合、Open() に時間がかかります。
印刷結果で文字の一部がかけてしまいます。
PC の機種によってディスプレイドライバーのバグなどで印刷時に文字が欠ける現象が確認されています。ディスプレイメーカーの Web などを確認して、最新のディスプレイドライバーに更新されることをおすすめします。更新されたディスプレイドライバーが入手できない場合は、以下のような方法で症状が改善される場合があります。
「画面のプロパティ」 - 「設定」 - 「詳細」 - 「トラブルシューティング」 - 「ハードウェアアクセラレータ」 の設定(通常は最大)を 1 段階下げる。
この方法でもうまくいかない場合は、お手数ですが 「b-PAC に関するお問い合わせ」 よりお問い合わせください。
マニュアルに記載の「bpoContinue フラグを使った複数ラベルの一括印刷例」を実行すると、製品によって出力結果が違います。
同じプログラム内容でも、製品仕様の違いにより出力結果が異なります。
PT-9500pc をご利用の場合、ラベル一枚一枚を切り落とさずに、連続してハーフカットする機能があり、この機能を生かしたラベル作成が可能です。
PT-9300pc や PT-9200pc をご利用の場合、PT-9500pc のような、連続ハーフカット機能はありませんので、ラベル一枚一枚が切り落とされ、そのそれぞれに、ハーフカットがついた形で出力されます。
サーバー上のアプリケーションプログラムから、クライアント PC につないだ P-touch に印刷させることはできますか?
可能です。印刷データを作成する PC に b-PAC とプリンタードライバーをインストールしてください。
ただし、印刷データをサーバーで作成する場合には、クライアント PC にも b-PAC か P-touch Editor をインストールしてクライアント PC 側でラベルテンプレートを印刷するアプリケーションが必要です。
サーバーにつないだ P-touch に、クライアント PC から印刷させることはできますか?
可能です。サーバーに b-PAC とプリンタードライバーをインストールしてください。
2 種類の幅のシールを作成したいため、1 台のパソコンにて 2 台の PT-9500pc を使用したいのですが可能ですか?
可能です。テンプレートにはプリンター名を記憶していますので、それぞれのテンプレートをエディターで作成するときに、印刷したいプリンターを選択して作成してください。
PT-9500pc を複数台 USB にて接続する場合は、USB IDスイッチを 「1」(個別IDモード)に設定してください。
2 種類のシールを作成したいため、1 台のパソコンにて異なる製品のラベルプリンターを 2 台使用したいのですが可能ですか?
可能です。それぞれのプリンタードライバーをインストールし、P-touch Editor でそれぞれのラベルプリンターを選択してラベルテンプレートファイルを作成してください。
ReplaceImageFile() を使って、ピクチャボックスで表示中の JPGファイルを指定すると、「例外(アプリケーションの内部エラー)」が発生します。
b-PAC SDK Ver.2.0 以前では、ピクチャボックスに画像ファイルを単純に表示するとファイルがロックされ、そのファイルに対する操作ができなくなります。
対処方法は、http://dobon.net/vb/dotnet/graphics/drawpicture2.html
(「DOBON.NET プログラミング道」のサイトへリンクします。)をご確認ください。
b-PAC SDK Ver.3.0 ではこの不具合を解消しております。
テキストオブジェクトに「日付と時刻」オブジェクトを含めると動きません。
P-touch Editor 5.0 以降では、テキストオブジェクトに日付と時刻オブジェクトを挿入することができますが、b-PAC ではこれを処理できません。b-PAC で日付と時刻オブジェクトを使用するときは、テキストオブジェクトの中に含めず、日付と時刻オブジェクトとしてラベルテンプレートファイルに配置してください。
単独でダウンロードしたヘルプファイルを開いても、内容が表示されません。
ヘルプファイル(bPACXX.chm)のプロパティを開き、赤枠の欄にチェックを入れてください。
b-PAC の再配布
クライアントの b-PAC をバージョンアップするにはどうしたらいいですか?
弊社が提供する CCI でクライアントの PC に上書きインストールするか、b-PAC SDK 同梱のマージモジュールを組み込んだインストーラーを作成してクライアントの PC にインストールしてください。
開発環境でない PC に b-PAC をコピーするにはどうしたらいいですか?
b-PAC のダウンロードページにクライアントインストーラーパッケージがありますのでダウンロードしてご利用ください。b-PAC を使用したアプリケーションの動作に必要なコンポーネントがインストールされます。
(SDK に含まれるドキュメント、サンプル、サンプル用テンプレートファイルなどはコピーされません。使用する PCに P-touch のドライバーが正しくインストールされている必要があります。)
印刷を実行すると「実行時エラー'429' ActiveX コンポーネントはオブジェクトを作成できません」のエラーになります。
CCI で b-PAC をインストールして印刷できれば、msxml4.dllやgdiplus.dll などの必要なモジュールが足りないのが原因です。
MSXML4 は以下のページから
- http://www.microsoft.com/downloads/details.aspx?FamilyID=96a4413c-5261-4f69-83d0-932c430abd14&DisplayLang=ja(「Microsoft Download Center」のサイトへリンクします。)
GDI+ は以下のページから
- http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en (「Microsoft Download Center」のサイトへリンクします。)
それぞれダウンロードが可能です。最新版であることを確認し、必要なものをインストーラーに組み込んでください。
Windows 2000 をご使用の場合、上記の 2 つとも必要で、Windows XP をご使用の場合、MSXML4 のみ必要です。
なお、これらは Windows のシステムフォルダーにインストールする必要があります。
再配布用マージモジュール(bPAC3.msm)を利用して作成したインストーラーによりインストールした環境で、印刷を実行 するとエラーが発生します。
作成したインストーラーに、必要なモジュール が足りないのが原因です。
ご利用の 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 に格納
サンプル
b-PAC SDK 同梱の VBNET/VCS サンプル起動時に「コンピューターにapi-ms-win-crt-heap-l1-1-0.dllがないため、プログラムを開始できません。」のダイアログが表示されます。あるいは、b-PAC SDK 同梱の VC サンプル起動時に「クラスが登録されていません。」のダイアログが表示されます。
ご利用の PC に、UniversalCRT(UCRT) がインストールされていないことが考えられます。
解決方法 1:
OS の更新プログラムを確認・適用します。
KB2919442 を適用し、続いて KB2919355、KB2999226 の順序で適用します。
解決方法 2(解決方法 1 の更新プログラムの適用が行えない場合):
Visual Studio 2015、2017、および 2019 用 Microsoft Visual C++ 再頒布可能パッケージを確認・適用します。
SDK に含まれるサンプルを動かすと、媒体エラーとなります。
サンプルで使用しているテープサイズの設定と、実際にラベルプリンターにセットされているテープサイズが異なっていると思われます。
サンプルのラベルテンプレートファイル(通常は C:¥Program Files¥Brother bPAC SDK¥Templates にインストールされています)を P-touch Editor で開いてテープサイズをラベルプリンターにセットされているテープサイズに変更してください。
SDK に含まれるサンプルを動かしても、印刷されません。
以下の 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]
実践サンプルパッケージの印刷ボタンを押しても印刷されません。
以下の内容をご確認ください。
- プリンターを接続し、必ず電源 ON にしてください。
- サンプルのラベルテンプレートファイル(.lblあるいは.lbx)を P-touch Editor で開いて、実際に使用するテープサイズとラベルプリンターの設定を確認してください。サンプルのラベルテンプレートで設定されているテープサイズおよびラベルプリンター名と、実際にセットされているテープサイズおよびラベルプリンター名が同じでなければいけません。
メソッド
プリンターのステータスやエラー状態の取得はできますか?
- USB 接続の場合は、b-PAC SDK Ver.3.0 以降のバージョンのご利用でプリンターがオンラインかどうかが確認できます。
b-PAC 3.x SDK ヘルプ内の下記部分の記載をご参照ください。
○ 「サンプルコード」→「プリンターオンラインチェック」
但し、ネットワーク接続(有線・無線)の場合はプリンターがオンラインかどうかは確認できません。 - 印刷要求を行なった後にその成否を確認する方法については、b-PAC 3.x SDK ヘルプ内の下記部分の記載をご参照ください。
○ 「サンプルコード」→「印刷完了イベントハンドリング & コールバック」
印刷失敗等のプリンターで発生したエラーを検知するには、印刷完了イベントのコールバック処理内で、bpac::IPrinter::ErrorCode プロパティの値を参照してください。
具体的なエラーコードについてはヘルプ内の下記をご参照ください。
○ 「トラブルシューティング」→「デバッグ中に表示されたエラーコードを知りたい」
但し、USB 接続での動作を基本としており、ネットワーク接続(有線・無線)の場合は動作保証外となります。
※印刷実施をしたクライアント PC でプリンターの印刷状態をモニタする方法としては、b-PAC およびプログラムとは関係ありませんが、プリンタードライバーの標準機能であるステータスモニターで確認することができます。
(プリンタードライバー内の"ポート"タブで、‘双方向サポートを有効にする’を、チェックありにしてください。)
テキストのインデックス順はどうやって確認するのですか?
ラベルテンプレートファイルを P-touch Editor で開いてください。P-touch Editor 5.0 では、Professional モード画面の右側で「順序を表示」タブで、ラベルテンプレートファイルに含まれるオブジェクトが、順番に表示されます。一番上に表示されたテキストが一番最後に入力されたテキストで、インデックス 0 になります。
P-touch Editor 4.2 以前では、「表示」 メニューから 「テキストボックス」 を選択してください。ラベルテンプレートファイルに含まれるテキストオブジェクトが 「<<ボタン>>」 ボタンで順番に表示されます。
テキストオブジェクトのインデックス順番の変更は可能ですか?
ラベルテンプレートファイルを P-touch Editor で開いてください。P-touch Editor 5.0 では、Professional モード画面の右側で「順序を表示」タブで、ラベルテンプレートファイルに含まれるオブジェクトが、順番に表示されます。この中で順番を変更したいテキストオブジェクトを選択し、任意の位置にドラッグすると、そのテキストオブジェクトのインデックスが変更されます。
P-touch Editor 4.2 以前では、順番を変更したいテキストオブジェクトを選択し、右クリック→順序を選択し、希望の順番になるように変更してください。
プリンターモニタを非表示にしたいのですが、どうしたらいいですか?
「プリンターとFAX」 でラベルプリンターのプロパティを表示し、「ポート」 タブで 「双方向サポートを有効にする」 のチェックをはずしてください。
改行のあるテキストオブジェクトの各行のテキストを入れ替えるにはどうしたらいいですか?
テキストオブジェクトを
aaa
bbb
とし、aaa をテキスト0、bbb をテキスト1 として SetText() してください(インデックスの数字は、作成したラベルテンプレートの内容によって異なります)。
カット方法を、オートカット以外の方法に設定したり、複数枚のラベル印刷時に組み合わせて利用する事ができますか?
カットオプションの設定方法については、下記の「b-PAC SDK ヘルプ」内に、詳細説明がございますので、ご参照ください。
○ヘルプファイルのアクセス先と該当説明部分:
Windowsメニュー → すべてのプログラム → Brother b-PAC3 SDK → b-PAC 3.x ヘルプ
⇒ [APPENDIX] → [主な機種ごとのカットオプションの組み合わせと印刷結果例]
ご利用機種によって、利用可能なカットオプションは異なる為、ヘルプ内の‘機種別情報’タブで、該当機種の項目をご確認ください。
カットオプションを具体的に記述する際には、bpo で始まる列挙値で指定する方法と、直接数値で指定する方法があります。どちらで指定するかは使用する言語によりますのでご注意ください。VBScript 利用時は直接数値です。
b-PAC 3.x ヘルプ⇒ [サンプルコード] → [印刷サンプル] の各サンプルを参照
カットオプションを組み合わせて指定する場合、列挙値を使用する際にはカットオプションを “Or 演算子”で繋ぎ、直接数値を使用する際にはカットオプションの数値を Or 演算した結果を、StartPrint コマンドに記述します。
〇ハーフカットを行ない最後をつなげて印刷する場合のオプション表記
列挙値 bpoHalfCut Or bpoChainPrint
直接数値 &H600
=== (VBA の場合の利用例) ===
〔※前段部省略〕
ObjDoc.StartPrint ( "Document_xxxx", bpoHalfCut Or bpoChainPrint )
〔ループコマンドがある場合、ループ開始コマンドは、StartPrint より後ろに配置〕
ObjDoc.PrintOut ( 1, 0 )
〔ループコマンドがある場合、ループ終了コマンドは、PrintOut と EndPrint の間に配置〕
ObjDoc.EndPrint ( )
===
※PrintOut コマンドの 2 番目の引数は無効ですので、“0”を設定してください。
カットオプションと同様に、印刷解像度など各種の設定が行えます。ヘルプ中でのキーワード検索「PrintOptionConstants」に詳しい説明があります。
印刷と印刷の間に余白を作らない方法を教えてください。
お使いの製品のカット機能と、b-PAC のカットオプションの設定の組み合わせにより、複数枚のラベル印刷時に限り、ラベルとラベルの間の余白をなくすことが可能な場合があります。
詳しくは、b-PAC SDK Ver.3.0 ヘルプの「主な機種ごとのカットオプションの組み合わせと印刷結果例」をご確認ください(ヘルプのみのダウンロードも可能です)。
詳しくは 「b-PAC のダウンロード」をご覧ください。
印刷結果のプレビューを表示することは可能ですか?
可能です。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 などをご参照ください。
イメージを置き換える場合、縦横比率を維持して置き換えるにはどうしたらいいですか?
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 を設定してください。
CODE128 で FNC1 等の制御コードを含んだバーコードデータの設定方法を教えてください。
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
CODE128/EAN128は何桁まで対応可能ですか?
P-touch Editor 4.0、および、b-PAC SDK Ver.1.4 以降では、最大 250 桁まで対応しています。最新版をダウンロードしてご利用ください。
P-touch Editor 3.x では 30 桁までしか対応しておりませんので、30 桁以上のデータを印刷したい場合は、テンプレートを作成する際に、データの桁数が増えてもバーコードが収まるようにテンプレートにスペースを確保しておく必要があります。
バーコードのサイズ変更は可能ですか?
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 の解像度によって異なります)のみとなります。
P-touch Editor でデータベースとマージしたラベルレイアウトファイル(.lbl) は、Open() メソッドで開かないのですか?
b-PAC コンポーネントそのものにはデータベース接続機能はないため、データベースとマージしたレイアウトファイルをテンプレートとして使用することはできません。データベースとの繋ぎは b-PAC やレイアウトファイルではなく、お客様のプログラムで行っていただく必要があります。
データベースとマージしていないレイアウトを新規に作成し、テンプレートとしてご利用ください。
以下、すでにデータベースとマージしたレイアウトから、b-PAC でテンプレートとして利用できるレイアウトを簡単に作成する手順です。
- 1. P-touch Editor でデータベースとマージしたレイアウトを開きます。
- 2. メニューから[ファイル] - [データベース] -[切断] を実行します。
- 3. メニューから [ファイル] - [名前をつけて保存] で新規に保存します。
このレイアウトはデータベースとはマージしていませんので、 b-PAC でテンプレートとして使用することができます。
印刷するテキストの量に応じてテープの長さを可変にすることは可能ですか?
P-touch Editor上で、次のように設定することにより可能です。
< 行数に応じてラベルの長さを可変にしたい場合 >
用紙とテキストの向き | 「用紙の向きを縦、テキストの向きを横」、または「用紙の向きを横、テキストの向きを縦、回転角度を180°」 |
---|---|
テープの長さ | 「自動」 |
テキストオブジェクトのプロパティの「文字の制御」 | 「長文」 |
「長文」に設定した場合、Openメソッド後、何度も同じオブジェクトにSetTextメソッドを呼ぶと最大サイズのまま固定されてしまいます。これを解決する為には、効率は落ちますが印刷の都度、Openメソッド、Closeメソッドを呼んでください。
< 1 行の長さに応じてラベルの長さを可変にしたい場合 >
用紙とテキストの向き | 「用紙とテキストの向きを横」、または「用紙とテキストの向きを縦」 |
---|---|
テープの長さ | 「自動」 |
テキストオブジェクトのプロパティの「文字の制御」 | 「自動長」または「フリーサイズ」 |
一つのテキストオブジェクト内で、入れ替えるテキストデータの長さに応じて改行するには、どうしたらいいですか?
オブジェクトの「文字の制御方法」に「枠サイズ固定折り返し」を設定してください。テキストオブジェクトの幅からはみ出る分は次の行になります。
任意の場所で改行したい場合は、入れ替えるテキストデータに改行コードを含めてください。
ご参考までに、b-PAC SDK Ver.3.0 に含まれる VBA用サンプルの Asset1.xls をご確認ください。
テキストオブジェクトのプロパティ 「文字の制御方法」 について教えてください。
「文字の制御方法」は作成したいラベルによって、テキストを印刷する領域を一定にし文字サイズを自動的に拡大縮小したり、文字サイズを固定したりするといった機能です。P-touch Editor上でテキストオブジェクトのプロパティを表示させて設定します。詳細は、P-touch Editorのヘルプ「テキストの表示方法を選択する」をご確認ください。
「枠サイズ固定」 | 文字を追加・削除しても、枠サイズは変更されません。各文字の縦横の比率を保ったまま、入力した文字をすべて表示するように拡大縮小します(ただし拡大は最初に入力されたサイズまでです)。 |
---|---|
「枠サイズ固定(折り返し)」 | 文字を追加・削除しても、枠サイズは変更されません。入力されたテキストがオブジェクト幅を超えた場合は、自動的にテキストを折り返し、表示しきれなくなったら縦横の比率を保ったまま縮小して全体を表示します。 |
「長文」 | 文字が追加された場合、オブジェクト枠からあふれた文字は自動的に折り返され、オブジェクト枠も縦に拡大されます(横幅は変更されません)。 |
「自動長」 | 文字を追加すると、オブジェクトの長さ(横幅)が長くなります。オブジェクト枠の高さ(縦幅)は変更されません。 |
「フリーサイズ」 | 文字の増減に合わせてオブジェクト枠が拡大縮小され、オブジェクト枠いっぱいに文字が表示されます。 |
Unicode は使えますか?
はい、使えます。P-touch Editor 5.0 で作成したレイアウトファイルを、b-PAC SDK Ver.2.0 以降で使用してください。