使用端口9100上的插槽将图像发送到打印机

时间:2016-07-05 12:42:16

标签: swift sockets printing swift2

我目前能够使用Swift将文本发送到打印机(如EPSON TM20-II)。打印机接收数据并打印它没有任何问题。 (为此,我用UTF-8编码我的字符串)

我的套接字自定义类:

 <div class="d-region__contain d-region--border-bottom">
        <div ID="NorthEast" class="d-region__btn">NorthEast</div>
        <div class="d-region__info">CT, ME, MA, NH, NJ, NY, PA, RI, VT</div>
 </div>

我正在使用它:

class OutSocket {

    var addr: String
    var port: Int
    var task: NSURLSessionStreamTask!

    init(host: String, port: Int){
        print("init")
        self.addr = host
        self.port = port
        setupConnection()
    }

    func setupConnection() {
        print("setup")
        let session = NSURLSession(configuration: .defaultSessionConfiguration())

        task = session.streamTaskWithHostName(addr, port: port)
        self.task.resume()
    }

    func send(data: NSData) {
        self.task.writeData(data, timeout: 5.0) { (error) in
            if error == nil {
                print("Data sent")
            } else {
                print("Nope")
            }
        }
    }
}

我可以将图像发送到打印机,但它只会打印数据字符。 如何打印图像,而不是数据字符?

我看到了Epson SDK,但我希望它适用于任何支持TCP / IP打印的打印机。我试图在base64中编码我的图像,但仍然没有打印图像。

这里是代码:

let socket = OutSocket(host: "192.168.1.42", port: 9100)
socket.send((itemText + "\n").dataUsingEncoding(NSUTF8StringEncoding)!)

提前致谢,

0 个答案:

没有答案