蓝牙系列(iOS)+ Rongta RPP200-B - 慢慢打印

时间:2018-01-03 08:23:05

标签: objective-c ionic2 cordova-plugins ios-bluetooth escpos

我使用蓝牙打印机Rongta RPP200-B和cordova插件蓝牙系列在移动设备上打印。

在Android设备上可以正常使用,但在iOS设备上打印速度非常慢且切碎,尤其是图像打印速度非常慢。我试图改变插件写入函数的本机objective-c实现,但它没有带来预期的结果。

这是我在BLE.m中写入函数的最后一次实现。数据作为一个批量发送到插件,并且分组到数据包并在BT源上发送。

static const int MAX_BUF_LENGTH = 128;

-(void) write:(NSData *)d
{

    NSInteger data_len = d.length;
    NSData *buffer;
    int i = 0;

    // split data into packets
    for(; i < data_len; i+=MAX_BUF_LENGTH)
    {
        NSInteger remainLength = data_len-i;
        NSInteger bufLen = ((remainLength)>MAX_BUF_LENGTH) ? MAX_BUF_LENGTH:remainLength;
        buffer = [d subdataWithRange:NSMakeRange(i, bufLen)];
        // write packet on BT  
        [self writeValue:serialServiceUUID characteristicUUID:writeCharacteristicUUID p:activePeripheral data:buffer];
    }
}

我也尝试过发送插件分裂数据包并使用默认的函数实现,但情况更糟。这是默认实现。

-(void) write:(NSData *)d {
  [self writeValue:serialServiceUUID characteristicUUID:writeCharacteristicUUID p:activePeripheral data:d];
}

你知道什么可以提供帮助吗?感谢。

0 个答案:

没有答案