打印机

1、获取本地打印机信息

  引用命名空间:

    using System.Drawing.Printing;

  获取本地打印机信息:

    //PrinterSettings.InstalledPrinters  获取安装在计算机上所有打印机的名称

    DataTable dt = new DataTable();

    dt.Columns.Add("Name");
    dt.Columns.Add("DefaultPrinter");
    dt.Columns.Add("Valid");
    for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
    {
      DataRow dr = dt.NewRow();
      string item = PrinterSettings.InstalledPrinters[i];
      PrinterSettings setting = new PrinterSettings() { PrinterName = item };  //打印机对象
      dr["Name"] = setting.PrinterName;  //打印机名称
      dr["DefaultPrinter"] = setting.IsDefaultPrinter;   //是否为默认打印机
      dr["Valid"] = setting.IsValid;  //是否可用
      dt.Rows.Add(dr);
    }

    gvData.DataSource = dt;

    gvData.DataBind();

2、设置本地默认打印机

  引用命名空间:

    using System.Runtime.InteropServices;

  设置默认打印机代码实现:

    public class Externs

    {
      [DllImport("winspool.drv")]  //调用外部文件
      public static extern bool SetDefaultPrinter(String Name); //调用win api将指定名称的打印机设置为默认打印机
    }

  调用设置方法:

    Externs.SetDefaultPrinter(string PrinterName);

原文地址:https://www.cnblogs.com/jxw-29/p/7714750.html