我需要将图像从我的 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 或在哪里对附加字节进行更改?
希望得到答复!!