iOS swift 4.0 печать с термопринтера BLE

#ios #swift #printing #bluetooth #bluetooth-lowenergy

#iOS #swift #печать #bluetooth #bluetooth-низкое энергопотребление

Вопрос:

Я хочу распечатать с термопринтера, используя команду BLE из приложения iOS. Для этого я использовал библиотеку принтеров из COCOAPODS. Я использую принтер cashino ptp-ii для снятия печати. В моем коде, когда я начинаю печатать данные (изображение) при нажатии кнопки, принтер просто начинает печатать пустые страницы и не прекращает печать, и я должен вручную отключить его, чтобы остановить его. Ниже приведен мой код, который я использовал для печати:

   let image = UIImage(named: "demo")!

    if pm.canPrint {

        if let data = UIImageJPEGRepresentation(image, 1.0) {

            var receipt = Receipt(
                data
            )

            receipt.feedLinesOnTail = 2
            receipt.feedPointsPerLine = 60
            pm.print(receipt)
        }

    } else {

        performSegue(withIdentifier: "ShowSelectPrintVC", sender: nil)
    }
  

Комментарии:

1. Какая библиотека принтеров? Ссылка?

2. cocoapods.org/pods/Printer

3. Похоже, что в этой библиотеке нет документации, но пример в библиотеке показывает создание Receipt объекта, который содержит элементы, включая изображение. Затем данные отправляются на принтер. Я подозреваю, что вы просто отправляете необработанные байты данных jpeg на принтер.

4. Да, потому что объект получения ожидает форму данных, и она отправляется. Я делаю неправильно? И что мне следует изменить, если я хочу печатать pdf напрямую? Есть ли у вас какие-либо ссылки на какой-либо другой sdk / библиотеку?

5. Он принимает данные, но я предполагаю, что данные должны быть в формате ESC / P, поэтому он предоставляет Receipt расширение Data (что не является выбором дизайна, который я бы сделал), которое может кодировать для вас различные типы объектов.