【问题标题】:Reading Zebra printer status via USB on Ubuntu在 Ubuntu 上通过 USB 读取 Zebra 打印机状态
【发布时间】:2011-05-19 18:48:27
【问题描述】:

在 SO 和 Google 上发了很多帖子后,我找不到问题的答案。大多数类似的问题都以 Windows/VB/.Net/C#/Java 为中心。

我需要向 Zebra USB 打印机 (TTP2130) 发送 ESC 命令并使用 C/C++ 获取状态。我可以使用以下方式进行正常打印(将 Zebra 通用驱动程序设置为默认打印机):

$ lpr file.prn 

使用 Zebra Toolbox 在 Windows 中进行通信并使用 ESC 命令生成 *.prn 文件。

但是,如果我发送的文件包含需要打印机响应的命令,则什么都不会发生。

实现这一目标的最佳方法是什么?也许直接使用libusb1.0?

感谢您的帮助!

【问题讨论】:

    标签: c++ ubuntu usb zebra-printers


    【解决方案1】:

    在搜索“Swecoin”后找到了解决方案。这是 Zebra 的 TTP 系列打印机的老制造商。 Swecoin on Wikipedia.

    这家伙制作了一个简单直接的应用程序来与 TTP 打印机(ttputil)进行通信:http://www.rainbow-software.org/linux/

    下载编译后可以直接发送命令:

    sudo ./ttputil enquiry sensor /dev/usblp0

    我将修改它的代码以满足我的需要。

    很遗憾,我还没有找到通过他的网站联系(并感谢)原始开发者的方法。

    【讨论】:

    • 我的 Swecoin TTP 2030 在 Debian/squeeze 上被检测到很好,并且有一个 /dev/lp0,但是每当我运行 ttputil 时,它就会挂起并且什么也没发生。这既是 root 用户,也是组“lp”中的用户。有什么想法吗?
    • 我想通了,我需要这样做:./ttputil enquiry status-enq /dev/usb/lp0 所以使用 /dev/usb/lp0 而不是 /dev/lp0
    【解决方案2】:

    好吧,我遇到了类似的问题,最后这篇文章对我帮助很大:https://blog.peter.skarpetis.com/archives/2005/04/07/getting-a-handle-on-usbprintsys/ 它以 Windows 为中心,但在 Linux 和 Mac 上的原理也是相同的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-25
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      相关资源
      最近更新 更多