ESC *
ESC/POS の「ビット イメージ」コマンドの 1 つです。8 または 24 ピクセルの 1 行のみを表す「列形式」データを受け入れます。したがって、ここには 2 つの適切なオプションがあります。
を使用して複数行を印刷するESC *
1行印刷できているようなので、データ形式自体は問題ないと思います。
コマンドを繰り返して余分な行を改行で区切って印刷するだけで、複数の行を印刷できます\n
。これには、画像を切り刻み、高さが 8 ピクセルまたは 24 ピクセルの倍数になるように空白をパディングする必要があります (これも形式による)。
行間があるため、画像の印刷中に改行のサイズを変更するコマンドを発行し、最後にそれらをリセットする別のコマンドを発行する必要があります。
ESC 3 0x10
16 単位の改行 (bytes 0x1b 0x33 0x10
) とESC 2
(bytes 0x1b 0x32
) をリセットに使用します。
この印刷方法は古いプリンターとの互換性に優れていますが、出力に細い横線が入ることがあります。
で画像全体を印刷しますGS v 0
このビット イメージ コマンドは、さまざまな「ラスター形式」データを受け入れます。この形式の BLOB は、広く実装されているPBMビットマップ形式 (具体的には、P4 ヘッダーを持つファイルのバイナリ データ) のバイナリ データと同一であるという事実を利用しています。
画像の高さは印刷バッファー サイズによって制限されますが、最大で65535
ピクセル数になる可能性があります。表現のため、幅は 8 で割り切れる必要があります。
補足:これらのスニペットは、一般的なオープン ソースの escpos-phpおよびpython-escposライブラリに現在表示されている画像処理コードの実際のプロトタイプです。既存のライブラリを使用することには多くの利点があり、それがオプションである場合は検討する必要があります。