#概要
- b-PAC
- Brother製ラベルプリンタ用のSDK(COMコンポーネント)
- 公式の対応プログラムは以下の通り
- Visual C++
- Visual Basic
- VB Script(WSH)
- VB Script(for IE)
- Visual Basic .NET
- Visual C#
公式で対応していなかったがPythonから印刷を試みる
#環境
- windows10 Home
- Python3(32bit) *後述
- b-PAC SDK Ver.3.1/3.2(32bit版) *後述
- ラベルプリンタ(TD4000)
#基本
PyWin32からCOMコンポーネントを叩く
import win32com.client
doc = win32com.client.Dispatch('bpac.Document')
doc.Open(r"/your/directory/path/template.lbx")
doc.GetObject('object_name').text = 'python'
doc.StartPrint('hoge', 0x0)
doc.PrintOut(1, 0x0)
doc.EndPrint
0x0は公式のAPIリファレンスを見れば分かりますが,bpoDefaultです。
#ハマったところ
versionとbitの組み合わせでハマりました
#####公式注意書き
- b-PAC 3.1以降の“32bit版”か“64bit版”かの選択については、利用されるアプリケーションの≪稼働 bit版≫と合わせてください。
Winodws OSが“64bit版”でも、アプリケーションが“64bit版”ではないケースがある為、ご注意ください。
≪例 ≫ Windows 10:64bit版のOS環境で、Microsoft Excel を利用アプリケーションとする場合、下記の組合せになります。
A) Excelが“32bit版”の場合 ⇒ b-PACは“32bit版”
B) Excelが“64bit版”の場合 ⇒ b-PACは“64bit版”
これを読んで,当初Python3(64bit) + b-PAC(64bit)の環境を構築
しかし,印刷ができない(エラーコード : 11 0x0000000B - - 現在指定されている プリンターには対応していない )
??????
ラベルプリンタの対応表を見てみる
b-PAC SDK Ver.3.1/3.2 (32bit版) | b-PAC SDK Ver.3.1/3.2 (64bit版) | |
---|---|---|
TD-4100N | ○ | - |
TD-4000 | ○ | - |
TD-2130N/2130NSA | ○ | ○ |
あーーー,ラベルプリンタがそもそも64bit版に対応していなかった
環境を再構築。
Python3(32bit) + b-PAC(32bit)
Pythonの32bitはcondaで構築
参考
これで無事Pythonからb-PACを用いてラベルプリンタで印刷することができました