微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 iOS 中通过蓝牙非 Airprint打印到打印机?

如何解决在 iOS 中通过蓝牙非 Airprint打印到打印机?

我需要将图像从我的 iOS 应用程序打印到未启用 AirPrint 的蓝牙热敏打印机。由于非AirPrint打印机无法使用UIKit打印,所以我选择使用3rd party SDK。

使用 this SDK 并尝试在我可以打印小尺寸图像的地方打印图像,但是当涉及到大图像时,它在附加字节时崩溃,说索引超出范围,这就是功能

`private func eachLinePixToCmd(src: [UInt8],nWidth: Int,nHeight: Int,nMode: Int) -> [UInt8] { var 数据 = [UInt8]

    let p0 = [0,0x80]
    let p1 = [0,0x40]
    let p2 = [0,0x20]
    let p3 = [0,0x10]
    let p4 = [0,0x08]
    let p5 = [0,0x04]
    let p6 = [0,0x02]
    
    let nBytesPerLine: Int = (nWidth + 7) / 8
    var k: Int = 0
    
    for _ in 0..<nHeight {
        data.append(ESC_POSCommand.beginPrintimage(xl: UInt8(nBytesPerLine % 0xff),xH: UInt8(nBytesPerLine / 0xff),yl: UInt8(1),yH: UInt8(0)).rawValue)
        var bytes = [UInt8]()
        for _ in 0..<nBytesPerLine {
            bytes.append(UInt8(p0[Int(src[k])] + p1[Int(src[k + 1])] + p2[Int(src[k + 2])] + p3[Int(src[k + 3])] + p4[Int(src[k + 4])] + p5[Int(src[k + 5])] + p6[Int(src[k + 6])] + Int(src[k + 7])))
            k = k + 8
        }
        data.append(bytes)
    }
    let rdata: [UInt8] = data.flatMap { $0 }
    return rdata
}

}`

请告诉我是否有其他可用的 SDK 或在哪里对附加字节进行更改?

希望得到答复!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。