2015年6月3日 星期三

EPSON ESC/POS 指令測試--win8.1 64bit之下中文嘛會通

最近臨危受命幫友人寫EPR,POS用的是wp-520 發票機 ,還好有EPSON ESC/POS指令相容模式可以用,那就好辦了
照常理中文又會有亂碼出現了,只要encoding解決就好了--下例就是了
至於physical的問題--取錯紙捲以至於發票編號給錯的問題,留待他的流程面解決了
=========sample code============================
            SerialPort port = new SerialPort("COM4", 9600, Parity.None, 8, StopBits.One);
            port.Open();
            port.Write(Convert.ToChar(27) +"@");
            //port.Write(Convert.ToChar(28) + "&"); <--「漢字模式」!? 不必啦
            port.Write(Convert.ToChar(27) + "z" + Convert.ToChar(1));
            port.Write( "begin test" + Convert.ToChar(13) + Convert.ToChar(10));
            byte[] strArr = System.Text.Encoding.GetEncoding("big5").GetBytes("NEO.TECH 力台系統公司");
            port.Write(strArr, 0, strArr.Length);
            port.Write(""+ Convert.ToChar(13) + Convert.ToChar(10));
            strArr = System.Text.Encoding.GetEncoding("big5").GetBytes("二聯發票機測試");
            port.Write(strArr, 0, strArr.Length);
            port.Write("" + Convert.ToChar(13) + Convert.ToChar(10));

            strArr = System.Text.Encoding.GetEncoding("big5").GetBytes("64位元 win8嘛會通");
            port.Write(strArr, 0, strArr.Length);
            port.Write("" + Convert.ToChar(13) + Convert.ToChar(10));

            port.Write("end of test" + Convert.ToChar(13) + Convert.ToChar(10));
            //chr$(29)+chr$(86)+chr$(66)
            port.Write(""+ Convert.ToChar(29) + Convert.ToChar(86) + Convert.ToChar(66) + Convert.ToChar(13) + Convert.ToChar(10));
            port.Close();
=========================================
至於 Epson RP-U420常用命令一覽表,參考這裡

再怎麼樣ERP都是人操作的,如何用流程改善來減少user的問題,增進用戶的收益,問題始終在於人上面

加油了

2 則留言:

  1. hihi,偶然看到這篇文章,想請問版主是如何直接用c#ㄎ開發wp-520二聯式發票機的,我目前在網路上找到的資源都是用vb撰寫的

    回覆刪除
    回覆
    1. 先用console mode project 去試,看輸出結果是不是你要的
      再把這東西包成lib就可以了

      刪除