Главная страница
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
15-1323090102
Kostafey
2011-12-05 17:01
2012.04.01
Построение визуальной модели данных по SQL (DDL)


4-1255704991
Badevlad
2009-10-16 18:56
2012.04.01
Как Windows переименовывает файлы при совпадении во время копиров


1-1290374524
IVP
2010-11-22 00:22
2012.04.01
Delphi и Word


3-1273743190
Роман
2010-05-13 13:33
2012.04.01
Подключение Delphi к базе Firebird


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