Текущая проблема печати C # POS.NET:
PrintNormal ()
Выдает исключение = «Не инициализировано» CheckHealth
= 'Он не инициализирован'
Исключение «Не инициализировано» при печати на Epson TM-T88IV
с использованием сервисных объектов POS для .NET 1.12 и Epson OPOS ADK для .NET (v1.11.9) Успешно удалось открыть, заявить и установить DeviceEnabled-true для PosPrinter
. Проблема , отправка чего-либо на принтер после этого PrintNormal () приводит к возникновению исключения «Это не инициализировано». Утилита CheckHealth, входящая в комплект Epson OPOS ADK, приводит к точно такой же ошибке. При использовании PrintNormal (PrinterStation.Receipt исключение: «Указанная станция не установлена».
принтер печатает нормально при использовании прямого параллельного подключения сам принтер печатает
Как мы можем не выдать исключение с сообщением - «Он не инициализирован»?
void K8POSPrint()
{
///
/// PosPrinter object
///
PosPrinter m_Printer = null;
try
{
//Use a Logical Device Name which has been set on the SetupPOS.
string strLogicalName = "PosPrinter";
try
{
//Create PosExplorer
PosExplorer posExplorer = new PosExplorer();
DeviceInfo deviceInfo = null;
try
{
// Device Info is not null when the printer has the logical name
deviceInfo = posExplorer.GetDevice(DeviceType.PosPrinter, strLogicalName);
m_Printer = (PosPrinter)posExplorer.CreateInstance(deviceInfo);
}
catch (Exception ExDevice)
{
}
//Open the device
m_Printer.Open();
//Get the exclusive control right for the opened device. Then the device is disable from other application.
m_Printer.Claim(1000);
//Enable the device.
m_Printer.DeviceEnabled = true;
// ////CheckHealth.
//m_Printer.CheckHealth(Microsoft.PointOfService.HealthCheckLevel.Interactive);
// //As using the PrintNormal method, send strings to a printer, and print it [\n] is the standard code for starting a new line.
/// Current Issue Next Line thows an exception - 'It is not initialized'
m_Printer.PrintNormal(PrinterStation.Receipt, "Hey Now OPOS for .NET\n");
// the next line would throw the exception 'The specified station is not mounted.'
// m_Printer.PrintNormal(PrinterStation.Slip,"Hey Now Slip OPOS.NET\n");
}
catch (PosControlException)
{
}
}
catch (Exception ex)
{
}
}
Дополнительная информация:
Программы, установленные при попытке печати на принтере pos:
1. Установлен драйвер принтера APD4 Epson TI88IV.
APD_412EWM.exe
https://www.epsonexpert.com/ee/techRes/index.htm?ProductId=570
После этого набора в панели управления принтерами я могу выбрать свойства принтера и распечатать тест к принтеру успешно.
2. Установлен Microsoft POS.NET 1.12
POSfor.NET.msi
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eaae202a-0fcc-406a-8fde-35713d7841ca
3. Установлен Epson OPOS ADK v2.67
ADK267ER4.exe
https://www.epsonexpert.com/ee/appDev/appDevOPOS.htm
4. Установлен EPSON OPOS ADK для .NET 1.11.8.
OPOSN 1 11 18.exe
https://www.epsonexpert.com/ee/appDev/appDevOPOS.htm
5. Установлены общие управляющие объекты OPOS 1.13.001
OPOS_CCOs_1.13.001.msi
http://monroecs.com/oposccos_current.htm
6. SetupPOS - добавленное устройство и логическое имя
7. Проверка работоспособности по-прежнему выдает ошибки
Не инициализирован
OPOS_E_ILLEGAL 10007 (0x00002717)