Window打印机

namespace Sp.Base.Core.Utils
{
    public class WindowsUtil
    {
        #region 设备

        /// <summary>
        /// 打印机
        /// </summary>
        /// <returns></returns>
        public static string[] GetPrinters()
        {
            string[] installedPrinters = new string[PrinterSettings.InstalledPrinters.Count];
            PrinterSettings.InstalledPrinters.CopyTo(installedPrinters, 0);
            return installedPrinters;
        }

        public static PrinterStatus GetPrinterStatus(string printerName)
        {
            string path = $"win32_printer.DeviceId='{printerName}'";
            ManagementObject printer = new ManagementObject(path);
            printer.Get();
            PrinterStatus ret = (PrinterStatus)Convert.ToInt32(printer.Properties["PrinterStatus"].Value);
            return ret;
        }
        #endregion
    }

    #region 枚举
    /// <summary>
    /// 打印状态
    /// </summary>
    public enum PrinterStatus
    {
        /// <summary>
        /// 其他状态
        /// </summary>
        Other = 1,
        /// <summary>
        /// 未知
        /// </summary>
        UnKnow,
        /// <summary>
        /// 空闲
        /// </summary>
        Waiting,
        /// <summary>
        ///  正在打印
        /// </summary>
        Printing,
        /// <summary>
        /// 预热
        /// </summary>
        WarmingUp,
        /// <summary>
        /// 停止打印
        /// </summary>
        Paused,
        /// <summary>
        ///  打印中
        /// </summary>
        Processing,
        /// <summary>
        /// 离线
        /// </summary>
        Offline
    }
    #endregion
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容