2023.06.04
公式もかなりノリノリなSUNMIさんのプリンター搭載スマートデバイスがとても界隈を賑わせていましたが、ブームに乗り遅れてしまい手に入れられなかったので、代わりにBluetoothのプリンターを購入しました。(?)安価で手に入る中華製レシートプリンターです。
ネットワーク/USB対応のレシートプリンターでPHPからESC/POS指令を投げてツイッターを印刷することはやったことがあったのですが、Bluetoothは初めて触りました。
Amazonの商品説明や説明書を読むとUSBとBluetooth、Windows、Android、iPad対応、ESC/POS対応と、よくある中華製レシートプリンターの仕様なので、何かしら使えるだろうと思っていました。
しかし、Windows機にUSB接続ではデバイスがそもそも読み込まれず、Bluetoothでつなげることはできましたがドライバがないとかで動かないです。ESC/POSで印刷しようにもデバイスとして正常に認識されていないのでデバイスの指定ができず印刷ができませんでした。
しょうがないのでAndroidで試しました。
純正と思われるアプリをインストールして使用すると文字化けをしてしまいうまく印刷できません。
ESC/POSをWEBアプリからPHPで投げられるのですが、Bluetoothについてはライブラリが見つからず(開発終了してしまっている模様)どうにもなりません。情報も少ないのでWEBアプリから直接投げる方法は諦めました。
どうやらAndroidからは基本的にはメーカーのSDKを使う方法か、サードパーティ製のESC/POSを投げるアプリをインストールする必要があるようでした。プログラミングはできないので、アプリを使う方法を模索しました。
基本的にESC/POSを使う想定のプリンターなようなので、ESC/POS対応のどのアプリでも操作のしづらさはあるものの、一応は印刷できました。
ESCPOS Bluetooth Print Service
色々調べるとこのアプリが簡単に使えるようでした。
印刷したいものを「共有」してこのアプリに投げるとそのまま印刷できます。
今回はWEBページから直接印刷したかったので、ドキュメントを読んでみると、簡素でわかりやすくそのままつかえるHTMLコードが書いてありました。
ペロッとページを作ってリンクをタップするとそのまま印刷されました。
アプリに依存するとそのアプリが開発終了した際にどうにもならなくなるので、アプリに依存しない形を調べたかったのですが、Bluetoothを使用した形はなかなか無いようなのでこれが現状のアンサーになるのかと思います。
おそらくEPSONやスター精密のような一級メーカーのプリンターならドライバもちゃんとあってそのあたりもちゃんとしているんだと思いますが、一つ、知見ということで…。
技術 真間