我有许多 POS 打印机,需要自动识别打印机的类型。我需要在不使用 POS.NET 或打印机驱动程序的情况下执行此操作。我怎样才能做到这一点?
问问题
1211 次
3 回答
2
没有标准的方法来识别这样的打印机。
在一般情况下很难或不可能(打印机可能使用不同的 COM 端口配置 - 波特率等 - 以及不同的协议)。许多打印机可以通过 DIP 开关或发送命令以不同的方式配置,这一事实使情况更加复杂。
如果您要识别的打印机数量相当少,并且您都知道正确的 COM 端口配置,那么您可以尝试发送命令/读取响应以找到允许您在您支持的打印机中唯一识别打印机的组合。
许多 POS 打印机支持 ESC/POS 协议的变体,并且对状态请求的响应(查看每台打印机的手册)可能存在差异,使您能够做出区分。
当然,您会遇到持续的维护难题——每次您想要支持新的打印机型号时,您都将不得不再次尝试找到一些显着特征并更新您的识别软件。
于 2011-03-11T08:41:18.487 回答
1
看看这个项目,它在源代码中支持很多 POS 打印机:
在每台打印机的实现中,可以找到自动搜索连接的打印机的识别子程序。
于 2011-04-17T15:39:41.010 回答
0
刚刚做了一个快速的谷歌搜索,也许你可以列出可用的打印机,一个例子在这里:http ://www.c-sharpcorner.com/UploadFile/mahesh/printerslisting06072007092859AM/printerslisting.aspx
和这里:
不确定这只是列出已安装的打印机还是在线打印机?
于 2011-03-11T08:04:39.690 回答