対象パピーは BookwormPup64-10.0.8 です
今回は完成アプリではなく、コンパイルして作成します
これは、プリンタの型名やIDなどの指定がソースコード内に書かれているためです
1) ソースコードの入手
githubからお借りします。検索すると、似たコードがたくさん出てきますが、
今回はNihlusさんのコードですC言語でかかれています(Cしか分からんのでこれにしましたw)
https://github.com/Nihlus/ptouch-print
ptouch-print-master.zip のようなファイルが手に入るはずです
2) devx_dpup_10.0.8.sfs をインストール
3)不足ライブラリのインストール
3つですが、芋蔓式に結構入りますので、puppyを太らせたくない方は注意して下さい。
aptを使って自動で入れたかったのですが、上手く行かないのでdebファイルは手動でdebianから落としました
https://packages.debian.org/bookworm/libusb-1.0-0-dev
https://packages.debian.org/bookworm/libexpat1
https://packages.debian.org/bookworm/libgd-dev
アーキテクチャはamd64です
インストールはダウンロードしたフォルダから直接指定して行いました
コード: 全て選択
# apt update
# apt upgrade
# apt install ./libusb-1.0-0-dev_1.0.26-1_amd64.deb
# apt install ./libexpat1_2.5.0-1+deb12u1_amd64.deb
# apt install ./libgd-dev_2.3.3-9_amd64.deb
プリンタをUSBケーブルでつなぎ、電源を入れて、10程度待ちます
lsusb を実行して、接続されている機器の一覧の中からラベルプリンタを探します
今回使う PT-P710BT は04f9:20afでした
コード: 全て選択
# lsusb
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 04f9:20af Brother Industries, Ltd PT-P710BT
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
ptouch-print-master.zip を任意の空フォルダ内に解凍します
解凍してできたフォルダのsrcフォルダの libptouch.c をエディタで開きます
このファイルの69行目付近({0, 0, "", 0, 0, 0}の上)に、IDや名称を追記します
パラメタの詳しい意味は分かっていません。他のプリンタを真似て作っています
コード: 全て選択
{0x04f9, 0x2073, "PT-D450", 180, 16, FLAG_RASTER_PACKBITS},
{0x04f9, 0x200d, "PT-3600", 360, 48, FLAG_RASTER_PACKBITS},
/* Notes about the PT-D450: I'm unsure if print width really is 128px */
{0x04f9, 0x20af, "PT-P710", 180, 16, FLAG_RASTER_PACKBITS}, /* <-- Line 69 PT-P710 */
{0, 0, "", 0, 0, 0}
};
解凍したフォルダに移動して、READMEに従いコンパイルしていきます
コード: 全て選択
./autogen.sh
./configure --prefix=/usr
make
これをmy-applicationsなどパスの通ったフォルダに移動して完成です
7) 実行例
詳しくは--help で使い方を読んで下さい
コード: 全て選択
# ptouch-print --font M+1P+IPAG --fontsize 100 --text 焼肉定食
PT-P710BT found on USB bus 8, device 2
setting font size=100
#
私の場合、一番下のラインが切れてしまいました。font size=100で収まりました
印字例
.