字符串通过 libusb 传输,但打印机不打印
String gets transferred by libusb, but the printer wont print
我正在使用 link 中的教程发送一个字符串以将其打印出来。但是,即使打印机显示 "receving data",数据也不会打印出来。在代码本身中 libusb_bulk_transfer returns 我要打印的字符串中的字符数。
有人知道我可能做错了什么吗?也许我应该指出,我正在使用 OsX,当我尝试按照常规程序打印文件时,打印机工作正常。
谢谢!
将字符串发送到现代光栅图像或 页面 打印机不太可能产生预期的效果(即它不会打印字符串)- 打印机将尝试解释它作为命令或图像数据。任何特定打印机的控制都是特定于该打印机型号的,并且在现代打印机上相当复杂。例如大多数喷墨打印机,主机 PC 生成光栅图像并发送图像数据。对于 PostScript 打印机,将生成 PostScript 语言的页面描述(类似于 PDF 文档)并将其发送到打印机。
OS通过打印机驱动打印; OS 以自己的格式构建页面描述,打印机驱动程序将其转换为打印机专有格式。
如果您想打印文本,通常必须通过操作系统服务(除非您自己编写打印机驱动程序),而不是通过 USB 直接传输数据。唯一的例外可能是当您拥有 PostScript 文件和 PostScript 打印机时 - 那么该文件已经使用打印机的语言。
而且在USB中,打印设备已经定义好了device class。这允许您获取有关打印机及其功能的信息,以便您可以适当地访问它(同样是打印机驱动程序和 OS 的工作)
我正在使用 link 中的教程发送一个字符串以将其打印出来。但是,即使打印机显示 "receving data",数据也不会打印出来。在代码本身中 libusb_bulk_transfer returns 我要打印的字符串中的字符数。
有人知道我可能做错了什么吗?也许我应该指出,我正在使用 OsX,当我尝试按照常规程序打印文件时,打印机工作正常。
谢谢!
将字符串发送到现代光栅图像或 页面 打印机不太可能产生预期的效果(即它不会打印字符串)- 打印机将尝试解释它作为命令或图像数据。任何特定打印机的控制都是特定于该打印机型号的,并且在现代打印机上相当复杂。例如大多数喷墨打印机,主机 PC 生成光栅图像并发送图像数据。对于 PostScript 打印机,将生成 PostScript 语言的页面描述(类似于 PDF 文档)并将其发送到打印机。
OS通过打印机驱动打印; OS 以自己的格式构建页面描述,打印机驱动程序将其转换为打印机专有格式。
如果您想打印文本,通常必须通过操作系统服务(除非您自己编写打印机驱动程序),而不是通过 USB 直接传输数据。唯一的例外可能是当您拥有 PostScript 文件和 PostScript 打印机时 - 那么该文件已经使用打印机的语言。
而且在USB中,打印设备已经定义好了device class。这允许您获取有关打印机及其功能的信息,以便您可以适当地访问它(同样是打印机驱动程序和 OS 的工作)