请教POS机打印中文的问题
我用C#直接往LPT口上写Stream的方式来对POS机进行打印,
但是不知道为什么,就是不能打印中文出来:
IntPtr iHandle = CreateFile("LPT1", 0x40000000, 0, 0, OPEN_EXISTING, 0, 0);
if (iHandle.ToInt32() == -1)
{
MessageBox.Show("Open Printer Failed!");
return false;
}
else
{
FileStream fs = new FileStream(printerHandler.iHandle, FileAccess.ReadWrite);
StreamWriter sw = new StreamWriter(printerHandler.fs, Encoding.GetEncoding("GB2312"));
sw.WriteLine(strMessage);
sw.Close();
fs.Close();
CloseHandle(iHandle);
}
我试了好几种Encoding,包括Unicode, UTF-8, 936, 20936等,都还是不能打印出来中文,
哪位是否知道哪里有什么需要做特殊处理的?谢谢了!
我用的是CITIZEN的一款POS打印机。