如何以编程方式打印ESCPOS收据?

时间:2018-08-28 07:45:59

标签: c++ printing usb libusb escpos

背景

我对类似UNIX的操作系统来说相对较新,并且在MacOS中充其量只是一个初学者,所以我可能全都错了,但是就在这里。

我加入了一个项目,目标是通过USB或RS232以编程方式将热敏打印机用于收据输出。我需要使用ESCPOS命令来打印收据。

详细信息

我已通过USB将打印机连接到MacBook。我可以确认操作系统正在使用USB设备:它出现在系统报告中。另外,请遵循此post来设置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命令发送到MacOS中连接的USB热敏打印机?

0 个答案:

没有答案