I have this code for printing on a Zebra printer (specific RW 420)
StringBuilder sb = new StringBuilder(); sb.AppendLine("N"); sb.AppendLine("q609"); sb.AppendLine("Q203,26"); //set printer character set to win-1250 sb.AppendLine("I8,B,001"); sb.AppendLine("A50,50,0,2,1,1,N,\"zażółć gęślą jaźń\""); sb.AppendLine("P1"); printDialog1.PrinterSettings = new System.Drawing.Printing.PrinterSettings(); if (printDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { byte[] bytes = Encoding.Unicode.GetBytes(sw.ToString()); bytes = Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding(1250), bytes); int bCount = bytes.Length; IntPtr ptr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(bCount); System.Runtime.InteropServices.Marshal.Copy(bytes, 0, ptr, bytes.Length); Common.RawPrinterHelper.SendBytesToPrinter(printDialog1.PrinterSettings.PrinterName, ptr, bCount); }
RawPrinterHelper is a class from Microsoft that I got from here .
My problem is that only ASCII characters are printed as follows:
za gl ja
Missing ASCII characters.
It's funny that when I open Notepad and put the same text there and print it on a Zebra printer, all the characters are in order.
source share