2011-07-09 96 views
0

POS機熱敏打印機我有TM200打印機..
似乎沒有爲此提供任何好的驅動程序供應商..打印與.NET

αS我看到ESC/POS是一種方法。
這樣我就可以直接通過數據網絡發送到打印機,或通過原印刷使用.NET Windows和贏得API ..

我想知道緩衝區size.How不會溢出打印機?我看到它有96K字節的緩衝區。使用假脫機程序進行打印時,它如何知道不會發送超過96kbytes?
即使當我使用ESC/p打印時,如何知道何時發送下一個數據?

另一種方法是使用OPOS
從需要.NET不繫統需要經過特定的驅動程序的DLL 除?它值得使用這個嗎?

+0

供應商不爲您的打印機提供Windows驅動程序?把它拿回來買一臺新的打印機。這不是.NET特有的問題。如果您的打印機與Windows一起工作,它將與.NET應用程序無縫協作。他們都使用Windows打印基礎結構。 –

回答

3

這很常見。 Windows打印機驅動程序只有在打印機可以在可自由尋址的像素的圖形模式下運行時纔有用。這在廉價的打印機或熱敏打印機上得不到很好的支持。如果他們完全支持它,那麼他們會放慢速度,輸出可能會輕鬆十倍。所以POS打印機經常在原始模式下運行。您可以直接發送打印機命令,通常是以ESC代碼(0x1b)開頭的轉義序列。查閱打印機驅動程序以獲取支持的命

沒有溢出緩衝區的危險。低級驅動程序與打印機握手,一次一個字節或USB幀。如果您向打印機發送大量數據,則WritePrinter()調用將停止,等待打印機趕上。

+0

謝謝你的信息..所以我只需要使用Generic/Text-only?來設置打印機並選擇端口?我看到OPOS沒有更新,所以現在不是一個選項。那麼我唯一要做的就是調用WritePrinter而不關心緩衝區問題!這真是個好消息... – GorillaApe