• 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;
            static void sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
            {
                Recived = true;
            }
        }

  • 相关阅读:
    Java进阶10 内存管理与垃圾回收
    C编译: makefile基础
    Java基础09 类数据与类方法
    Java进阶06 容器
    C编译: 动态连接库 (.so文件)
    Java基础10 接口的继承与抽象类
    纸上谈兵: 左倾堆 (leftist heap)
    Java进阶02 异常处理
    Java进阶05 多线程
    Java基础12 类型转换与多态
  • 原文地址:https://www.cnblogs.com/hyruur/p/2631871.html
Copyright © 2020-2023  润新知