Как программно распечатать квитанцию ​​ESCPOS? - PullRequest
0 голосов
/ 28 августа 2018

Фон

Я относительно новичок в UNIX-подобных операционных системах и, в лучшем случае, новичок в MacOS, так что я могу ошибаться, но вот оно.

Я присоединился к проекту, целью которого является программное использование термопринтера через USB или RS232 для вывода чеков. Мне нужно использовать команды ESCPOS для печати квитанции.

Подробнее

Я подключил свой принтер к MacBook через USB. Я могу подтвердить, что ОС принимает USB-устройство: оно отображается в системном отчете. Также, следуйте этому сообщению , чтобы настроить CUPS.

Я использую escpospp lib, это код для печати образца:

#include <iostream>
#include "escpospp/escpospp.h"

int main(){
    try{
        Printer::initializePrinter(std::pair<int,int>(0x04b8,0x0e03));
        Printer &printer = Printer::getPrinter();
        printer.text("This is a **sample** text!\n");
        printer.cut();
    } catch (int e){
        //There was an error
    }
    return 0;
}

Я изменил значения в Printer::initializePrinter(std::pair<int,int>(0x04b8,0x0e03));, чтобы правильно указать свое устройство, проверив вывод системного отчета.

Когда я пытаюсь бежать, я получаю Cannot open device. Это ошибка из основного libusb.

Примечание. Я могу печатать с помощью команды lpr.

Вопрос

Понятно, что я что-то делаю не так или что-то пропустил по пути. Как программно отправить команды ESCPOS на подключенный термопринтер USB в MacOS с указанными выше подробностями?

...