2021 advent calendar day 3

日本語を表示

とりあえずそのまま日本語を追加

from escpos.printer import Network

p = Network("192.168.10.21")

p.text("Hello World\n")
p.text("あいうえお\n")

p.cut()

…判ってましたけどね。

世の中素晴らしい物を公開してる人達が居るので、それらを使わせて貰います👍

python-escpos for Japanese
https://github.com/lrks/python-escpos
メンテされていないご様子なので残念ながらパス

python-escpos japenese wrapper
https://github.com/iakyi/python-escpos-jp
上記の日本語出力部分をくくりだして本家ラッパーとして動作させる

ということでラッパーを入れる。ありがとうございます。

pip3 install git+https://github.com/iakyi/python-escpos-jp

追加でargparse-1.4.0が入った

from escposjp import Network

p = Network("192.168.10.21")
p.hw("INIT")
p.JpInit()
p.JpText("テスト")
p.cut()

実行!!

(省略)
    CODEPAGE_CHANGE + six.int2byte(self.encoder.get_sequence(encoding))
  File "/home/pi/.local/lib/python3.7/site-packages/escpos/magicencode.py", line 47, in get_sequence
    return int(self.codepages[encoding])
KeyError: 'JIS'

エラー!! え?

最新のpython-escpos(3.0a9.dev79+gb16f442)だと元のpython-escpos for Japaneseの日本語出力部分が対応出来なくなった模様

エラーの部分をコメントアウト
escposjp>printer.py
修正前

def JpInit(self):
    self.charcode("JIS")
    self._raw(b'\x1c\x43\x01')

修正後

def JpInit(self):
 #   self.charcode("JIS")
    self._raw(b'\x1c\x43\x01')

気を取り直し実行


OK!!
※PiPIからのpython-escposはバージョンが古い(2.2.0)ので特に修正無く動きます。
どうするかな…

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