私は Datecs DPP-450 ESC POS サーマル プリンターを持っています。これには API が付属しています。
APIはテキストと境界線を接続、印刷するための簡単なコードを提供するため、Bluetooth経由で正常に印刷できますが、ページの高さを2000以上に設定することはできません(ドットだと思います)。請求書を印刷していて、2000 より大きい高さが必要です。インターネットで検索したところ、次のものが見つかりました。
ESC W xL xH yL yH dxL dxH dyL dyH.
ページモードで印刷範囲を設定する
【設定範囲】 0≦xL xH yL yH dxL dxH dyL dyH≦255(dxL=dxH=0またはdyL=dyH=0を除く)
【解説】 水平開始位置、垂直開始位置、印字領域幅、印字領域高さをそれぞれ x0、y0、dx、dy とする。印刷可能領域の各設定は、次のように計算されます。
x0 = [(xL + xH x 256) x (水平運動単位)]
y0 = [(yL + yH x 256) x (上下運動単位)]
dx = [(dxL + dxH x 256) x (水平移動単位)]
dy = [(dyL + dyH x 256) x (上下運動単位)]
、しかし、それを機能させることはできません。
表示するコードはあまりありません。試してみました:
printer.reset();
printer.write(new byte[]{0x1B});
printer.write(new byte[]{0x57});
printer.write(new byte[]{0}); OR new byte[]{0x30}
printer.write(new byte[]{0}); OR new byte[]{0x30}
printer.write(new byte[]{0}); OR new byte[]{0x30}
printer.write(new byte[]{0}); OR new byte[]{0x30}
printer.write(new byte[]{64}); OR new byte[]{0x36, 0x34}
printer.write(new byte[]{3}); OR new byte[]{0x33}
printer.write(new byte[]{96}); OR new byte[]{0x39, 0x36}
printer.write(new byte[]{11}); OR new byte[]{0x31, 0x31}
printer.selectPageMode(); // make printer enter PAGE MODE
高さを約 5000 にする正しい方法のアイデアはありますか? 回避策として、少しずつ印刷できますが、もっと良い方法があると確信しています。