Форум: "Основная";
Текущий архив: 2012.04.01;
Скачать: [xml.tar.bz2];
ВнизПечать на 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c