我在我的项目中使用Epos打印机iOS SDK。我可以打印收据但无法打开现金抽屉。有没有建议使用epos SDK中的哪些方法将命令发送到现金抽屉? (打印机EPSON TM-U220B,APG现金抽屉。)
尝试使用以下代码但无效
let builder:Epos2Printer = Epos2Printer.init(printerSeries:15, lang: 1)
var result:Int32
let a : Int = 1
let b : Int32 = Int32(a)
//To send commands to cash drawer
result = builder.addPulse(b, time:0)
let str:String = "<XCT>27,112,0,25,250"
let data:NSData = str.dataUsingEncoding(NSUTF8StringEncoding)!
result = builder.addCommand(data)
答案 0 :(得分:0)
我曾经在努力做到这一点我记得...我在他们的建造者周围建立了自己的包装,但是下面是我打开现金抽屉的功能(要发送的字节序列来自他们的打印机文档)。此外,这适用于TM-TII打印机,因此字节序列可能与您的模型不同,但您绝对可以使用相同的方法发送字节。
ps:transport
是我的包装器的内部函数,它使用promises与打印机通信。
func openCashDrawer() {
transport {
let cashDrawerOpenCmd: [Int8] = [0x1B, 0x70, 0x0, 0x20, 0x20]
self.builder?.addCommand(NSData(bytes: cashDrawerOpenCmd, length: 5))
}.fail { error in
// @TODO properly handle error
print("openCashDrawer() error: \(error)")
}
}