日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android接入热敏打印机,Android 关于佳博和汉印蓝牙热敏打印机开发

發布時間:2023/12/2 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android接入热敏打印机,Android 关于佳博和汉印蓝牙热敏打印机开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接上篇文章Android之BLE(低功耗)藍牙開發,本篇文章針對上篇博文中提出的兩款打印機的開發流程進行記錄。

首先不管時佳博打印機還是漢印打印機,都是先對他們各自的lib進行導入,如圖:

導入lib之后,

一定要記得進行sync project。一切準備就緒后接著就是根據他們各自提供的文檔說明進行開發。本文不做詳細說明,下面先貼漢印的打印關鍵代碼(他們家的比較簡單):

public void printCPCL(View view) {

final int maxPrintNum = 1;

new Thread(new Runnable() {

@Override

public void run() {

for (int i = 0; i < maxPrintNum; i++) {

try {

PrinterHelper.PortClose();

Log.e(TAG, "printCPCL: =======>436");

openBT = PrinterHelper.PortOpenBT("00:15:83:FD:6F:E0");

Log.e(TAG, "printCPCL: =======>440");

if (openBT == 0) {

Log.e(TAG, "printCPCL: =======>443");

if (PrinterHelper.IsOpened()) {

Log.e(TAG, "run: " + PrinterHelper.IsOpened());

//連接成功

PrinterHelper.Align(PrinterHelper.CENTER);

PrinterHelper.SetBold("1");

PrinterHelper.SetMag("2", "2");

PrinterHelper.Text(PrinterHelper.TEXT, "8", "0", "10", "30", "啦啦啦")

PrinterHelper.SetMag("1", "1");

PrinterHelper.SetBold("0");

PrinterHelper.InverseLine("0", "0", "700", "0", "100");

PrinterHelper.Text(PrinterHelper.TEXT, "8", "0", "0", "130", "啦啦啦");

PrinterHelper.Text(PrinterHelper.TEXT, "3", "0", "0", "160", "啦啦啦");

PrinterHelper.Text(PrinterHelper.TEXT, "3", "0", "0", "190", "啦啦啦");

PrinterHelper.PrintQR(PrinterHelper.BARCODE, "10", "240", "2", "16", "eyJxcl90eXBlIjoic3RhZmYiLCJvc19pZCI6Nn0=");

PrinterHelper.Form();

PrinterHelper.Print();

}

} catch (Exception e) {

Log.e(TAG, "printCPCL: =======>553" + e.getMessage());

e.printStackTrace();

}

}

}

}).start();

}

相關的方法在廠家集成文檔中都有詳細的描述,我就不在這里做過多的贅述了。效果如下圖:

佳博的話也一樣,下面給出打印代碼:

public void printSend(View view) {

threadPool = ThreadPool.getInstantiation();

threadPool.addTask(new Runnable() {

@Override

public void run() {

if (DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id] == null ||

!DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id].getConnState()) {

mHandler.obtainMessage(CONN_PRINTER).sendToTarget();

return;

}

if (DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id].getCurrentPrinterCommand() == PrinterCommand.TSC) {

sendLabel();

} else {

mHandler.obtainMessage(PRINTER_COMMAND_ERROR).sendToTarget();

}

}

});

}

void sendLabel() {

LabelCommand tsc = new LabelCommand();

/* 設置標簽尺寸,按照實際尺寸設置 */

tsc.addSize(40, 30);

/* 設置標簽間隙,按照實際尺寸設置,如果為無間隙紙則設置為0 */

tsc.addGap(2);

/* 設置打印方向 */

tsc.addDirection(LabelCommand.DIRECTION.FORWARD, LabelCommand.MIRROR.NORMAL);

/* 設置原點坐標 */

tsc.addReference(0, 0);

/* 撕紙模式開啟 */

tsc.addTear(EscCommand.ENABLE.ON);

/* 清除打印緩沖區 */

tsc.addCls();

// 繪制簡體中文

tsc.addText(10, 20, LabelCommand.FONTTYPE.SIMPLIFIED_CHINESE, LabelCommand.ROTATION.ROTATION_0, LabelCommand.FONTMUL.MUL_1, LabelCommand.FONTMUL.MUL_1,

"標準科室名稱:藥劑科");

tsc.addText(10, 50, LabelCommand.FONTTYPE.SIMPLIFIED_CHINESE, LabelCommand.ROTATION.ROTATION_0, LabelCommand.FONTMUL.MUL_1, LabelCommand.FONTMUL.MUL_1,

"標準科室代碼:wsd8965325");

tsc.addText(10, 80, LabelCommand.FONTTYPE.SIMPLIFIED_CHINESE, LabelCommand.ROTATION.ROTATION_0, LabelCommand.FONTMUL.MUL_1, LabelCommand.FONTMUL.MUL_1,

"實際科室名稱:藥劑科");

tsc.addText(10, 110, LabelCommand.FONTTYPE.SIMPLIFIED_CHINESE, LabelCommand.ROTATION.ROTATION_0, LabelCommand.FONTMUL.MUL_1, LabelCommand.FONTMUL.MUL_1,

"重量" + tv_weight.getText().toString().trim());

tsc.addQRCode(150, 150, LabelCommand.EEC.LEVEL_L, 4, LabelCommand.ROTATION.ROTATION_0, "12345ss67");

/* 打印標簽 */

tsc.addPrint(1, 1);

/* 打印標簽后 蜂鳴器響 */

tsc.addSound(1, 100);

tsc.addCashdrwer(LabelCommand.FOOT.F5, 255, 255);

Vectordatas = tsc.getCommand();

/* 發送數據 */

if (DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id] == null) {

Log.d(TAG, "sendLabel: 打印機為空");

return;

}

DeviceConnFactoryManager.getDeviceConnFactoryManagers()[id].sendDataImmediately(datas);

}

效果圖想象一下超時小票的那種就可以了(,,???,,)或者如上圖(漢印)效果

完整的demo有需要的話可以留下你的郵箱喲~

總結

以上是生活随笔為你收集整理的Android接入热敏打印机,Android 关于佳博和汉印蓝牙热敏打印机开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。