当我按下按钮时,我试图打印跟随数据。 当我按下按钮时,它可以成功打印到打印机,但是几秒钟后再次按下按钮时,将不会打印任何内容。
已经阅读了有关该主题的几篇文章,没有任何帮助。 我也尝试过删除“ printer?.disconnect()”函数,但仍然无法正常工作。
我希望每次按下按钮都成功打印文本。感谢所有帮助我的人!
func sendPrintData(){
//Find Printer
var printer: Epos2Printer?
printer = Epos2Printer(printerSeries: EPOS2_TM_T82.rawValue, lang: EPOS2_MODEL_ANK.rawValue)
if printer == nil {
let alert = UIAlertController(title: "Error", message: "Printer not found!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alert, animated: true)
} else {
printer?.setReceiveEventDelegate(self)
//Setup Print Data
printer?.addFeedLine(5) //Top Spacing
printer?.addTextSize(1, height: 1) //Text Size
printer?.addText("Line 1") //Text
printer?.addFeedLine(5) //Bottom Spacing
printer?.addCut(0) //Cut Paper
//Connect to the Printer
printer!.connect("TCP:192.168.0.12", timeout: Int(EPOS2_PARAM_DEFAULT)) //Connect to this Printer
printer!.beginTransaction() //Start Printing
printer?.sendData(Int(EPOS2_PARAM_DEFAULT)) //Send Data
//Finish Printing
printer?.endTransaction() //Stop Printing
printer?.disconnect()
printer?.clearCommandBuffer() //Clear Command Buffer
printer?.setReceiveEventDelegate(nil)
}
}
public func onPtrReceive(_ printerObj: Epos2Printer!, code: Int32, status: Epos2PrinterStatusInfo!, printJobId: String!) {
DispatchQueue.global(qos: DispatchQoS.QoSClass.default).async(execute: {
//Finish Printing
printerObj.endTransaction() //Stop Printing
printerObj.disconnect()
printerObj.clearCommandBuffer() //Clear Command Buffer
printerObj.setReceiveEventDelegate(nil)
})
}