ESC/POS コマンド入力で領収書(横向き)を印字させたい
現状
Xamarin.Android (C#) にて、レシートプリンターに印字する部分を作成しています。
SDKなどを提供してもらえる有名メーカーさんのレシートプリンターは価格が高いため、
【ESC/POS 準拠】 の レシートプリンターで印字が出来ればと思っています。
(タブレット等からBluetooth接続)
幸いにも、サンプルソースなどを見つける事ができ、また本家の
■文字コード表
https://reference.epson-biz.com/modules/ref_charcode_ja/index.php?content_id=2
■コード順コマンド・リスト
https://reference.epson-biz.com/modules/ref_escpos_ja/index.php?content_id=72#commands
を参考にすることで、無事、縦に流れていくレシートは印刷できるようになりました。
解決したいこと(やりたい事)
領収書を印字したいのですが、レシートのように縦に流れるものではなく、
【横向き】に印字させたいのですが、方法がわからず困っています。
ESC/POS のコマンドを使って、横向き印字させる方法をご存知の方、参考になるサイトをご存知の方等いらっしゃいましたら、アドバイスをいただけると助かります。
↓↓↓↓ のように印字したい
印字部コード
例えば、プリンターを初期化する場合、
ESC/POS コマンドは、 【ESC @】のため、
文字コード表より変換すると、
ESC ⇒ 27
@ ⇒ 64
となるため、
// 初期化【ESC @】
writeByte(27); // 27:ESC
writeByte(64); // 64:@
private async Task writeByte(byte value)
{
byte[] tempArray = { value };
await _blueToothService.Print(deviceName, tempArray);
}
public async Task Print(string deviceName, byte[] buffer)
{
using (BluetoothAdapter bluetoothAdapter = BluetoothAdapter.DefaultAdapter)
{
BluetoothDevice device = (from bd in bluetoothAdapter?.BondedDevices
where bd?.Name == deviceName
select bd).FirstOrDefault();
try
{
using (BluetoothSocket bluetoothSocket = device?.
CreateRfcommSocketToServiceRecord(
UUID.FromString("00001101-0000-1000-8000-00805f9b34fb")))
{
bluetoothSocket?.Connect();
bluetoothSocket?.OutputStream.Write(buffer, 0, buffer.Length);
bluetoothSocket.Close();
}
}
catch (Exception ex)
{
throw ex;
}
}
}
のように記述しています。
自分で試したこと
コード順コマンド・リスト
https://reference.epson-biz.com/modules/ref_escpos_ja/index.php?content_id=72#commands
に記載されている中で横向き印字できそうなものを色々試してみましたが、
横向き印字できていない状況です。
以下のコマンドを実行しましたが、サーマルプリンターからは
何も出力されない状態です。
// プリンターの初期化
ESC @
// ページモード選択
ESC L
// ページモードにおける印字領域の設定
ESC W 140 0 118 0 104 1 16 2
// ページモードにおける文字の印字方向の選択: 始点=左下、展開方向=下→上
ESC T 1
// 印字したい文字
領収書
// ページモード一括印字
ESC FF
ESC L (ページモードの選択)
ESC T (ページモードにおける文字の印字方向の選択)
ESC W (ページモードにおける印字領域の設定)
あたりが色々と調べていると横向き印字に関係しそうなのですが、実現できていません。
~~~~~~~~~~~~~~~~~~~~~~~~
素人のため、レベルの低い質問、
また、質問のマナーに関して至らない点があれば申し訳ないです。
完全に行き詰っており、横向きでの印字を諦める前に質問させていただいております。
アドバイスいただけると本当に助かります。
よろしくお願い致します。