修正する

修正する

マグプリンタに用紙がないかコマンドのみを使用して確認する方法(GUIなし)

編集:Pythonを使用してこれを確認できますか?

編集2:別のプリンタ(EPSON TM-m30)で試してみました。用紙なしで印刷しようとすると、「処理中」で停止します。

printer-state = processing
printer-state-message = Rendering completed
printer-state-reasons = none

しかし、まだ論文に関する情報を得ることはできません。

役に立つかどうかわからない。プリンタのプロパティを読み取るいくつかのPythonコードでjsonファイルを作成しました。https://pastebin.com/u97U9TnQ

修正する

用紙なしセンサー付きの別のプリンター(Star Micronics TUP542)を購入しました。用紙端センサーただし、センサーの使用方法に関するマニュアルが見つかりません(センサーがプリンターに接続されています)。カップにはいくつの命令がありますか?それとも別のツールを使用する必要がありますか?

Pythonを使用して属性を取得しようとしましたが、結果は次のようになります(json)。https://pastebin.com/Z3Tiz5g9

さて、プリンタの状態3紙があるかどうかにかかわらず常に。プリンタに用紙が落ちた場合は変更する必要がありますか?私の考えではプリンタの状態の理由紙がなくなったことについて話すべきですが、いつもそういうことがあります。['none']

アップデート2

たぶんESC / POSコマンドを試してみてください。ここ)。 157ページでコードが見つかりました。状態移行

n = 1、49:用紙検出器の状態を送信する

n = 1, 49しかし、それが文字列なのか、10進数なのか、16進数なのか、何を意味するのかはわかりません。 1と49の間にカンマがあるのはなぜですか?

私は次のPythonコードを試してみました。

command = [0x1D, 0x72, 1]
dest="/dev/usb/lp1"

with open(dest,"wb") as file:
    file.write(bytearray(command))

with open(dest,"rb") as file:
    data = file.read() # hangs
    print(data)

ただし、読み取り機能は中断され、決して返されません。

[0x1D, 0x72, 49]PS:また、別の値(、、、[0x1D, 0x72, 1, 49])を試しましたが、[0x1D, 0x72, 1, 0x49]成功しませんでした。

ところでいざ使ってみるとsudo cat /dev/usb/lp1###がたくさん印刷されますね。

catの後にhexdumpを使用すると、次の繰り返しシーケンスが表示されます。23 06 00 00 00 00 00 00 00

ベストアンサー1

見たことがありますか?パラメータ統計

たとえば、プリンタのリストを取得します。

~$ lpstat -s

device for Canon_MX920_series: dnssd://Canon%20MX920%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-xxxxxxxxxxxx

次に、問題の印刷物を照会します。

~$ lpstat -p "Canon_MX920_series"

printer Canon_MX920_series is idle.  enabled since Tue 18 Jan 2022 10:49:40 AM CST
scheduler is running

おすすめ記事