私はアナログサーマルプリンタを使用して、アンドロイドデバイスから領収書を印刷しています。彼らはプリンタにsdkを提供しましたが、テキストの配置、つまり[中央揃え]、[右揃え]の情報はありません。デフォルトでは左揃えが機能しています。Androidサーマルプリンタがアライメントバイトを受け付けていません
public boolean printData(byte[] msg) {
boolean flag = false;
try {
this.mmOutputStream.write(msg);
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
public boolean printData(String msg) {
boolean flag = false;
try {
this.mmOutputStream.write(msg.getBytes());
this.mmOutputStream.flush();
flag = true;
} catch (IOException e) {
e.printStackTrace();
}
return flag;
}
私は、製品名のようなコマンドを印刷したい:
private static final byte[] ALIGN_LEFT = {0x1B, 0x61, 0};
private static final byte[] ALIGN_CENTER = {0x1B, 0x61, 1};
private static final byte[] ALIGN_RIGHT = {0x1B, 0x61, 2};
または
public static final byte[] ALIGN_LEFT = new byte[]{27, 97, 0};
public static final byte[] ALIGN_CENTER = new byte[]{27, 97, 1};
public static final byte[] ALIGN_RIGHT = new byte[]{27, 97, 2};
マイ印刷コマンドは以下の通りです:
は、これまでのところ私は、印刷にコマンドの下に試してみました数量+価格を右揃えにする必要があります。
public static String nameLeftValueRight(String leftValue, String rightValue) {
return applyParametersToPrinter(leftValue, DataConstants.ALIGN_LEFT) +
applyParametersToPrinter(rightValue, DataConstants.ALIGN_RIGHT);
}
public static String applyParametersToPrinter(String data, byte[] param) {
String s = new String(param);
return String.valueOf(s) + data;
}
Chiru、あなたは解決策を見つけることができましたか? –
@NinjoeQuah Nope – chiru