Спасибо всем за ваши мысли. Печать напрямую в последовательный порт, вероятно, является наиболее гибким методом. В этом случае мы не хотели копировать всю работу, уже встроенную в Intermec dll, для обработки порта, ошибок принтера и т. Д. Мы смогли добиться этого, отправив принтеру соответствующие коды для его переключения. другой режим, а затем передайте прямые команды принтера таким образом.
Это было наше решение на случай, если кто-нибудь еще столкнется с подобной проблемой при работе с Intermec Printers. Следующий код представляет собой тестовый пример, в котором не фиксируются ошибки принтера, повторные попытки и т. Д. (См. Примеры кода Intermec.)
Intermec.Print.LinePrinter lp;
int escapeCharacter = int.Parse("1b", NumberStyles.HexNumber);
char[] toEzPrintMode = new char[] { Convert.ToChar(num2), 'E', 'Z' };
lp = new Intermec.Print.LinePrinter("Printer_Config.XML", "PrinterPB20_40COL");
lp.Open();
lp.Write(charArray2); //switch to ez print mode
string testBarcode = "{PRINT:@75,10:PD417,YDIM 6,XDIM 2,COLUMNS 2, SECURITY 3|ABCDEFGHIJKL|}";
lp.Write(testBarcode);
lp.Write("{LP}"); //switch from ez print mode back to line printer mode
lp.NewLine();
lp.Write("Test"); //verify line printer mode is working
На сайте поддержки Intermec имеется технический документ под названием «Техническое руководство», в котором описан код для прямого управления принтером. Раздел о Easy Print описывает, как печатать различные штрих-коды.