Печать на POS термопринтер с .NET - PullRequest
0 голосов
/ 09 июля 2011

У меня есть принтер TM200 ..
Похоже, что поставщик не предоставляет никаких хороших драйверов для этого ..

Если я вижу ESC / POS, это один из методов.
Таким образом, я могу отправлять данные напрямую на принтер через сеть или через обычную печать в Windows, используя .NET и win API.

Интересно, о размере буфера. Как не переполнить принтер? Я видел, что он имеет буфер 96 Кбайт. При печати с использованием диспетчера очереди печати, как он узнает, что не следует отправлять более 96 Кбайт?
Даже когда я печатаю с использованием ESC / p, как узнать, когда отправлять следующие данные?

Другой метод использует OPOS
Помимо dll, необходимого в .NET, нужна ли системе какая-либо конкретная версия драйвера? Стоит ли использовать это?

1 Ответ

3 голосов
/ 09 июля 2011

Это обычное дело.Драйвер принтера для Windows полезен, только когда принтер может работать в графическом режиме со свободно адресуемыми пикселями.Это не очень хорошо поддерживается на дешевых ударных или термопринтерах.Если они вообще его поддерживают, то они сильно замедлятся, выход может быть в десять раз медленнее.Таким образом, POS-принтеры часто работают в необработанном режиме.Вы можете отправлять команды принтера напрямую, обычно экранируя последовательности, начинающиеся с кода ESC (0x1b).Обратитесь к драйверу принтера за информацией о поддерживаемых командах.

Опасность переполнения буферов отсутствует.Низкоуровневое рукопожатие драйвера с принтером, один байт или кадр USB за раз.Если вы отправите много данных на принтер, вызов WritePrinter () просто остановится, ожидая, пока принтер не догонит.

...