web-dev-qa-db-ja.com

Bluetoothサーマルプリンターを使用して領収書を印刷する方法

サーマルプリンターで領収書を印刷しなければなりません。私は Zjiang Thermal printer を使用してレシートを印刷しました。彼らはそこにも manual &デモプロジェクトを提供しています。デモプロジェクトでは、接続と印刷を実装するためにlibray "btsdk.jar"を使用します。

プリンターとAndroidデバイスの間の接続を正常に確立しました。ただし、テキストの配置(中央、左、右)&セルの幅、高さ)に関するガイドラインはありません。

試してみる 。形式 2 変数を変更することによってのみテキストの高さを変更します。

Bluetoothプリンターで請求書を印刷する方法

このセクションも説明してください-

 byte[] cmd = new byte[3];
 cmd[0] = 0x1b;
 cmd[1] = 0x21;
 cmd[2] |= 0x10;

cmd 2 -フォントの高さを変更するために使用され、cmd [0]およびcmd 1 の使用方法

デモプロジェクトのBluetoothプリンターに印刷メッセージを送信するコード

 String msg = "";
 byte[] cmd = new byte[3];
 cmd[0] = 0x1b;
 cmd[1] = 0x21;
 cmd[2] |= 0x10;
 mService.write(cmd);           
 mService.sendMessage("Congratulations!\n", "GBK"); 
 cmd[2] &= 0xEF;
 mService.write(cmd);          
 msg = "  You have sucessfully created communications between your device and our bluetooth printer.\n\n"
      +"  the company is a high-tech enterprise which specializes" +
        " in R&D,manufacturing,marketing of thermal printers and barcode scanners.\n\n";
 mService.sendMessage(msg,"GBK");

印刷情報-

       parameters:support to download the Logo trademark
       FontA:12*24 dots,1.5(W)*3.0(H) mm
       FontB:9*17 dots, 1.1(W)*2.1(H) mm
       Simplified/Traditional: 24*24 dots, 3.0(W)*3.0(H)
       Line spacing: 3.75mm (Default)
       Barcode Types:-
       1D Barcode- UPC-A/UPC-E, JAN13(EAN13), JAN8(EAN8), CODE39/ITF, CODABAR,CODE93
       2d Barcode- QR CODE

請求書領収書

enter image description here

15
mukesh

テキストの配置について、インターネットで次の画像を見つけました。それが役に立てば幸い

enter image description here

あなたはこれを使うことができます

void printLine(String txt, char type){
    byte[] format = { 27, 33, 0 };
    byte[] arrayOfByte1 = { 27, 33, 0 };

    if (type == 'b') {
        format[2] = ((byte) (0x8 | arrayOfByte1[2])); //BOLD
    }
    if (type == 'h') {
        format[2] = ((byte) (0x10 | arrayOfByte1[2])); //HEIGHT
    }
    if (type == 'w') {
        format[2] = ((byte) (0x20 | arrayOfByte1[2])); //WIDTH
    }
    if (type == 'u') {
        format[2] = ((byte) (0x80 | arrayOfByte1[2])); //UNDERLINE
    }
    if (type == 's') {
        format[2] = ((byte) (0x1 | arrayOfByte1[2])); //SMALL
    }
    mService.write(format);
    mService.sendMessage(txt,"GBK");
}

クレジットはLeonardo Sapuyと彼のオリジナルのq/a bluetoothプリンターでテキストをフォーマットする に送られます。

1
Jaxx0rr