2021 advent calendar day 4

ESC/POS

ESC/P (Epson Standard Code for Printers) とは、セイコーエプソン株式会社(以下エプソン)によって開発された、コンピュータ用プリンターを制御するためのプリンター制御言語であり、Escape/Pと表記されることもある
https://ja.wikipedia.org/wiki/ESC/P より

ESC/POSはレシート用プリンターを制御するためのバリエーション。
時間がとれないのでescposjpのサンプルの解説とする

day 3の内容のESC/POSコマンド部分を抽出

from escposjp import Network

p = Network("192.168.10.21")
p.hw("INIT")
    |→self._raw(HW_INIT) → ESC @ → プリンターの初期化
p.JpInit()
    |self._raw(b'\x1c\x43\x01') → FS C x01 → 漢字コード体系の選択(Shift JIS)
p.JpText("テスト")
    |※文字サイズ変更は除外
    |self._raw(b'\x1c\x26')    # Kanji mode ON  → FS & → 漢字モードの指定
    |self._raw(txt.encode('shift-jis', 'ignore')) → テキスト内容をShift JISに変換しコード送信(変換出来ないのは無視)
    |self._raw(b'\x1c\x2e')    # Kanji mode OFF → FS . → 漢字モードの解除
p.cut()
    |self._raw(ESC + b"d" + b"\x06") → ESC d n 印字およびn行の紙送り
    |self._raw(GS + b"V" + b"\x00") → GS + V m 用紙のカット

そこまで難しい事はしてませんね。
漢字制御が使えるのは日本語仕様/簡体字中国語仕様/繁体字中国語仕様のみ。

日本語仕様のTM-T88IV(他中国語系も?)は代わりに2次元シンボルPDF417(Portable Data File 417)の機能が省かれている。

タイトルとURLをコピーしました