C#获取打印机状态(3)——Epson

C#获取打印机状态,以下是一个操作实例:

本例以获取Epson系列打印机状态为例,继承PrinterSys类(http://blog.csdn.net/xwlyun/article/details/41443305),已封装成PrintS类:

    // 打印机可用状态集合
    public enum enum_printerS_status
    {
        /// <summary>
        /// 故障
        /// </summary>
        warn = 0,
        /// <summary>
        /// 打印中
        /// </summary>
        print,
        /// <summary>
        /// 空闲中
        /// </summary>
        ready,
        /// <summary>
        /// 其他状态
        /// </summary>
        other
    }

    public class PrinterS : PrinterSys
    {
        public PrinterS(string name)
            : base(name)
        { 

        }

        /// <summary>
        /// 获取打印机状态
        /// </summary>
        /// <returns></returns>
        public enum_printerS_status getStatus()
        {
            enum_printerSys_status statusSys = base.getStatus();
            enum_printerS_status status;
            switch (statusSys)
            {
                // Epson
                case enum_printerSys_status.free:
                    status = enum_printerS_status.ready;
                    break;
                case enum_printerSys_status.print:
                case enum_printerSys_status.printing:
                    status = enum_printerS_status.print;
                    break;
                case enum_printerSys_status.warmup:
                    status = enum_printerS_status.other;
                    break;
                default:
                    status = enum_printerS_status.warn;
                    break;
            }
            return status;
        }
    }



版权声明:本文为xwlyun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。