2011-03-11 91 views
0

我有許多POS打印機,需要自動識別打印機的類型。我需要做,而不使用POS.NET或打印機驅動程序。我怎樣才能做到這一點?POS打印機上的自動識別

+0

我已閱讀文檔,並沒有發現任何可以幫助我的東西。 – pavel 2011-03-11 07:56:36

+0

您必須讓驅動程序使用打印機。這就是Windows的工作原理。你的問題沒有任何意義。你打算如何與打印機通信? – 2011-03-11 08:35:21

+0

我不知道你有什麼要做的標準。我相信它是特定於設備的。這就是爲什麼創建POS for .NET的原因,所以您不必編寫自己的POS設備驅動程序。您可能能夠找到每個打印機的.NET驅動程序POS,並使用.NET Reflector對驅動程序的寫法進行逆向工程(儘管這可能違反許可證 - 查看每個軟件許可證打印機之前,你做一些可能會讓你陷入麻煩的東西)。 – 2011-03-11 08:41:20

回答

2

沒有標準的方法來識別這樣的打印機。在一般情況下(打印機可能使用不同的COM端口配置 - 波特率等)和不同的協議,這很困難或不可能。由於很多打印機可以通過DIP開關或通過發送命令以不同的方式進行配置,這一事實更加複雜。

如果只有相當少量的打印機需要識別,對於所有這些打印機您都知道正確的COM端口配置,您可以嘗試發送命令/讀取響應以查找允許您在打印機中唯一標識打印機的組合你支持。

許多POS打印機支持ESC/POS協議的變體,並且對狀態請求的反應(查看每個打印機的手冊)可能有差異,可以使您區分。

當然,您將會持續維護頭痛 - 每當您想要支持新的打印機型號時,您將不得不再次嘗試找到一些顯着特徵並更新您的識別軟件。

+0

我希望這是另一種可用的方式,但我沒有選擇它的要求我的首席 – pavel 2011-03-11 10:36:41

0

只是做了快速谷歌搜索,也許你可以列出可用的打印機,在這裏一個例子:http://www.c-sharpcorner.com/UploadFile/mahesh/printerslisting06072007092859AM/printerslisting.aspx

這裏:

How to get Printer Info in .NET?

不知道這是否只是列出了安裝的打印機或者在線?

+0

我的打印機沒有安裝,他們只是連接到COM端口。我不能使用這個例子 – pavel 2011-03-11 08:08:37

+0

Windows不會自動檢測它們並安裝某種通用驅動程序,但它可用嗎?你嘗試過這樣做嗎? – 2011-03-11 08:11:59

+0

我的問題是,我無法安裝驅動程序。我應該使用本打印機,只需使用手動提供的POS命令即可。 – pavel 2011-03-11 08:18:36

1

看看這個項目,它支持很多POS打印機的源代碼:

http://dev.cyberplat.com/redmine/repositories/browse/pt/2.0/src/Modules/Devices/Printers/Printers/Implementation1/src

在每個打印機的實現,你可以找到自動搜索連接的打印機識別子程序。

+0

鏈接不起作用 – buster 2012-11-24 12:51:07

+0

他們殺死2.0版本並啓動3.0:http://dev.cyberplat.com/redmine/repositories/瀏覽/ PT/3.0/SRC /模塊/硬件/打印機/ SRC – 2012-12-01 17:43:15