开发者

Print to a POS thermal printer with .NET

I have TM200 printer..

The vendor doesnt seem to provide any good driver for this..

Αs i see ESC/POS is one method.

So i can send directly data to printer via network ,or via raw printing in windows using .N开发者_如何学PythonET and win API..

I wonder about the buffer size.How to not overflow the printer? I saw that it has 96K Bytes buffer. When printing using the spooler how does it know not to send more than 96kbytes ??

Even when i print using ESC/p how do i know when to send next data?

Other method is using OPOS

Apart from the dll needed in .NET does system need any specific driver ? Does it worth using this?


This is common. A Windows printer driver is only useful when the printer can operate in graphics mode with freely addressable pixels. That's not well supported on cheap impact or thermal printers. If they support it at all then they'll slow down tremendously, output can easily be ten times slower. So POS printers are frequently operated in raw mode. You can send printer commands directly, typically escape sequences that start with the ESC code (0x1b). Consult the printer driver for supported commands.

There is no danger of overflowing buffers. The low level driver handshakes with the printer, one byte or USB frame at a time. If you send lots of data to the printer then the WritePrinter() call will simply stall, waiting for the printer to catch up.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜