iOS开发 蓝牙打印小票

2018-05-14  本文已影响0人  zcz19911

要求:手机通过蓝牙连接蓝牙打印机,在手机上点击‘打印’,打印机就打印出小票(小票就跟送外卖的那种)。

设备:BT58S热敏打印机,iPhone(iPod或iPad也可以)

开发过程中参考https://github.com/Haley-Wong/SEBLEPrinter这个demo实现打印,该demo已经将蓝牙的扫描外设,连接外设,扫描外设的服务和特征都封装好了,所以我就直接用他封装的开发。

//首先创建管理者

SEPrinterManager *_manager = [SEPrinterManager sharedInstance];

//然后调用扫描外设方法

[_managerstartScanPerpheralTimeout:0Success:^(NSArray *perpherals,BOOLisTimeout) {

        //perpherals是扫描到的所有外设

    }failure:^(SEScanErrorerror) {

    }];

//扫描后就是连接外设

[[SEPrinterManager sharedInstance] connectPeripheral:peripheral completion:^(CBPeripheral *perpheral, NSError *error) {

        if (error) {

            //连接失败

        } else {

            //连接成功"

        }

    }];

//接下来就是设置要打印的数据

HLPrinter *printer = [[HLPrinter alloc] init];

[printer appendText:@"------------基本信息------------" alignment:HLTextAlignmentCenter bold:NO];

[printer appendTitle:@“单价” value:@"币种" fontSize:HLFontSizeTitleMiddle bold:NO];

[printer appendSeperatorLine];//分隔线

[printer appendNewLine];//新起一行

[printer appendImage:[UIImage imageNamed:@"imageName.png"] alignment:HLTextAlignmentCenter maxWidth:300];//添加打印图片

NSData *mainData = [printer getFinalData];//将打印的数据转化为NSData类型数据

//最后就是调用打印的方法

[[SEPrinterManager sharedInstance] sendPrintData:mainData completion:^(CBPeripheral *connectPerpheral, BOOL completion, NSString *error) {

        //completion是否完成,error错误信息

    }];

上一篇下一篇

猜你喜欢

热点阅读