Как вы перехватываете сообщения об ошибках принтера USB при использовании StartDoc()/EndDoc()?
Я надеюсь, что кто-то может указать мне правильное направление относительно проблемы печати, которую я имею ниже:
Установка: Win CE 5.0 Попытка печати из пользовательского приложения.
Я написал очень простой класс печати в моем приложении, которое использует драйвер pcl и печатает на принтере HP USB. Аспект печати в норме нормален, но я не вижу очевидного способа справиться с ошибками, такими как отсутствие бумаги в принтере и т. Д.
Я делаю что-то вроде этого (общая проверка ошибок и другие детали удалены для ясности):
// Get a DC to the printer. If printer isn't powered this will fail -
can print error stating "printer not found" or similar
hdcPrinter = CreateDC(@"pcl.dll", @"PCL Inkjet", @"LPT2:", ref mode);
// Signal the start of a document
StartDoc(hdcPrinter, &docInfo)
// Signal the start of a page
StartPage(hdcPrinter)
// Prepare the page to print/formatting etc
// Finished preparing the page
EndPage(hdcPrinter)
// This is the only page we are printing this time
EndDoc(hdcPrinter)
// Return the printer DC to the system as we are finished with it now.
DeleteDC(hdcPrinter);
Спасибо за любую помощь, которую вы можете предоставить,
Шилпа
1 ответ
Вы уверены, что получить DC успешно, даже если в принтере нет бумаги, он застрял или не готов к работе?
После запуска задания на печать проблема не возникает, если принтер сталкивается с проблемой. В этот момент ОС должна взаимодействовать с пользователем и сообщать ему о наличии проблемы, при необходимости перезапускать работу и т. Д.