2015-01-10 2 views
0

Я работаю над настольным приложением, созданным с использованием .NET Framework 4.5 и C# в качестве языка. Требование состоит в том, что принтер будет подключен к последовательному порту, параметры порта будут предоставлены пользователем через приложение, например, номер порта, скорость передачи и т. Д. И т. Д.Как распечатать непосредственно на принтере, подключенном к последовательному порту через настольное приложение .net

Когда пользователь нажимает кнопку печати, он должен непосредственно печатать на принтере без отображения диалога печати. Я никогда не делал печать с настольного приложения, и я понятия не имею, как этого добиться.

  1. Должен ли я иметь код, специфичный для драйвера этого принтера?
  2. Или существует ли общий способ отправки инструкций печати на принтер, подключенный к последовательному порту?
  3. Я могу отправить нормальную строку в последовательный порт, но что делать, если мне нужно сделать какое-то форматирование, например, рисование таблицы, как я могу сделать принтер последовательного порта печатать отформатированную таблицу и значения внутри нее ... например, счет.

Любая помощь была бы принята с благодарностью.

Спасибо, Amit

ответ

0

Вы хотите, чтобы посылать команды ESC/POS. Это будет управлять шрифтом, высотой строки и т. Д., А также фактическим передаваемым текстом.

http://pyramidacceptors.com/cms/wp-content/uploads/2013/02/ESC_POS_Protocol_Commands_REV_B.pdf

Другой Userful SO вопрос: How to use esc/pos command with c#?

Кроме того, нет необходимости изобретать колесо. Проверьте Github для библиотеки: https://github.com/yukimizake/ThermalDotNet

Что касается создания таблиц и другого такого нетекстового текста, вам нужно будет прочитать набор команд, поддерживаемый вашим целевым принтером. Если вы печатаете купюру, похоже, что вы нацеливаете термографический принтер. Поддержка изображения/нетекста будет варьироваться от модели к модели.