Thank you all for your thoughts. Printing directly to the serial port is the most flexible method. In this case, we did not want to replicate all the work that was already built into the Intermec dll to handle the port, printer errors, etc. We were able to get this work by sending the printer the appropriate codes to switch it to another mode, and then transmit direct printer commands.
Here is our solution in case anyone else encounters a similar problem working with Intermec Printers. The following code is a test case that does not catch errors and repeating printer errors, etc. (See Intermec Code Examples.)
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
There is a white paper on the Intermec support site titled "Technical Manual" that describes code for direct printer management. The Easy Print section describes how to print various barcodes.
Steve source share