Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.01;
Скачать: CL | DM;

Вниз

Печать на POS-принтер с определением состояния процесса   Найти похожие ветки 

 
DeadAlice ©   (2010-11-22 17:04) [0]

Всем хорошего дня!

Есть рулонный принтер, поддерживающий ESC/POS систему команд. Подключен он через Ethernet-модуль, но его драйвера благополучно показывают его как локально подключенное устройство. Есть программа, в которой производится вывод на принтер примерно такого вида:

Printer.PrinterIndex:=Printer.Printers.IndexOf("THERMAL LK-TXXX");
Printer.BeginDoc;
directtoprinter(Chr($1B) + "@",false);
directtoprinter(Chr($1B) + "M1",false);
directtoprinter("Тест!",true);
Printer.EndDoc;

Но это не удовлетворяет цели, так как хотелось бы при печати каждой строки получать статус принтера - не закончилась ли в нем бумага или случилось еще чего. Вопрос: есть ли способ в случае с объектом Printer получать при печати состояние принтера?

Вариант 2. Если нет, то для Ethernet и USB принтеров есть хитрый трюк, команда "net use lpt1: \\127.0.0.1\printer" транслирующая последовательный порт в принтер. Можно ли реализовать это действия функциями WinApi в программе?


 
DiamondShark ©   (2010-11-22 18:09) [1]

Я не помню, как там всё устроено в объекте Printer, а дельфей под рукой нет. Но если я ничего не путаю, то он реализует только GDI-печать.

Вам же нужен, судя по задаче, RAW-вывод.
Тогда:

OpenPrinter
StartDocPrinter
WritePrinter
ReadPrinter (если драйвер поддерживает)
GetJob


 
DiamondShark ©   (2010-11-22 18:22) [2]


> хотелось бы при печати каждой строки получать статус принтера

Со спулером -- унреально.



Страницы: 1 вся ветка

Текущий архив: 2012.04.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1323785586
Liroi
2011-12-13 18:13
2012.04.01
Помогите исправить ошибку


2-1323765953
_qwerty_
2011-12-13 12:45
2012.04.01
узнать значение автоинкрементного поля


4-1255347973
sD
2009-10-12 15:46
2012.04.01
Закрыть приложение


4-1239782616
pavel_guzhanov
2009-04-15 12:03
2012.04.01
Как определить, запущена ли служба?


2-1323806418
Gpol
2011-12-14 00:00
2012.04.01
Как установить цвет любого пиксела на экране без winApi?