• C# 实现Epson热敏打印机打印 Pos机用


        public class EpsopnPrinter
        {

    //打印文字(端口号 字符)
            public static string PrintString(int Port, string val)
            {
                System.IO.Ports.SerialPort sp = new System.IO.Ports.SerialPort();
                sp.PortName = "COM" + Port.ToString();
                try
                {
                    sp.Open();
                }
                catch
                {
                    return "端口被占用";
                }
                List<byte> data = new List<byte>();
                string[] lines = val.Split('\n');
                for (int i = 0; i < lines.Length; i++)
                {
                    byte[] content = System.Text.Encoding.Default.GetBytes(lines[i].Replace("\r", ""));
                    byte[] wapbt ={ 0x0a };
                    data.AddRange(content);
                    data.AddRange(wapbt);
                }
                byte[] cutbt={0x1d,0x56,0x42,0x11};
                data.AddRange(cutbt);
                byte[] databt = data.ToArray();
                sp.Write(databt, 0, databt.Length);
                sp.Close();
                return null;
            }

    //测试打印机是否接在这个端口
            public static bool PrintTest(int Port)
            {
                System.IO.Ports.SerialPort sp = new System.IO.Ports.SerialPort();
                sp.PortName = "COM" + Port.ToString();
                sp.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(sp_DataReceived);
                try
                {
                    sp.Open();
                }
                catch
                {
                    return false;
                }
                Recived = false;
                byte[] testbt={0x1D,0x49,0x01};
                sp.Write(testbt, 0, testbt.Length);
                System.Threading.Thread.Sleep(100);
                sp.Close();
                return Recived;
            }

            static bool Recived = false;

       //主要是在从COM端口中接收数据时触发
            static void sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
            {
                Recived = true;
            }
        }

  • 相关阅读:
    XAML
    诺基亚Lumia 800越狱教程
    Windows Phone常用控件
    Windows Phone数据存储
    Silverlight自定义鼠标
    [silverlight] silverlight3新增功能1:三维效果(透视转换)
    [silverlight] silverlight3新增功能2:WriteableBitmap
    另一种方法实现silverlight图片局部放大效果
    [Silverlight]简单实现DataGrid使用CheckBox选择行
    好用的模糊搜索下拉提示
  • 原文地址:https://www.cnblogs.com/zahxz/p/2811537.html
Copyright © 2020-2023  润新知