如何设置蓝牙打印的字体大小?

时间:2016-11-26 06:14:06

标签: android printing bluetooth thermal-printer

I am writing an application which print ticket receipts.
I have some how written the code to print the receipt but the printer either      

以非常大的字体或非常小的尺寸(不可读)字体打印。     任何机构都可以为我提供设置格式的代码。

     try {
            //////////this code runs in thread
                    OutputStream os = mBluetoothSocket
                            .getOutputStream();
                    String BILL = "";
                    BILL = BILL
                            + "     *********      ";
                    BILL = BILL+"\n***Invoice No*** \n" +
                            "Muslim Movers\n"
                            +Todays_date+"\n";

                    BILL = BILL + "\n\n";
                    BILL = BILL + "Tickets:" + "      " + String.valueOf(tickets_wanted)+"\n";
                    BILL = BILL + "Price:        "+String.valueOf(Total_Tickets)+"\n"+
                            Selectedroute+"\n";
                    BILL = BILL
                            + "     *********     \n";
                    ////textsize and allignment
                    byte[] format = { 27, 33, 0 };
                    byte[] arrayOfByte1 = { 27, 3, 0 };
                    format[2] = ((byte)(0x10 | arrayOfByte1[2]));
                    format[2] = ((byte) (0x8 | arrayOfByte1[2]));
} catch (Exception e) {
                    Log.e("Main", "Exe ", e);
}
t.start();

1 个答案:

答案 0 :(得分:1)

  

在写入之前更改您的打印机配置:

  byte[] cc = new byte[]{0x1B,0x21,0x00};  // 0- normal size text
  byte[] bb = new byte[]{0x1B,0x21,0x08};  // 1- only bold text
  byte[] bb2 = new byte[]{0x1B,0x21,0x20}; // 2- bold with medium text
  byte[] bb3 = new byte[]{0x1B,0x21,0x10}; // 3- bold with large text

  outputStream.write(cc);
  outputStream.write("Your String");