【问题标题】:How print dialog box selected printer to printing process打印对话框如何选择打印机到打印过程
【发布时间】:2017-03-10 22:23:15
【问题描述】:

我正在尝试使用 Process 打印 PDF 文件

PrintDialog pdf = new PrintDialog();
if (pdf.ShowDialog() == DialogResult.OK)
{
  pdf.AllowSelection = true;
  pdf.AllowSomePages = true;
  ProcessStartInfo info = new ProcessStartInfo();
  info.Arguments = pdf.PrinterSettings.PrinterName;
  info.CreateNoWindow = true;
  info.Verb = "print";
  info.FileName = filename;
  //info.WindowStyle = ProcessWindowStyle.Hidden;
  try
  {
    Process p = new Process();
    p.StartInfo = info;
    p.EnableRaisingEvents = true; //Important line of code
    //p.PriorityBoostEnabled = true;
    p.Start();
    p.WaitForExit();
    p.Close();
  }
  catch (Exception ex){}
}
else
{
  MessageBox.Show("Print Canceled");
}
}
catch (Exception ex){}

但此代码不会将用户选择的打印机用于打印过程。它通过默认打印机打印 pdf。 有什么错? 谢谢。

【问题讨论】:

    标签: c# printing process processstartinfo printdialog


    【解决方案1】:

    @RiksonTool,

    您的代码在默认打印机下打印为 pdf,因为它正在从 Windows 的控制面板读取设置。 这不是故障,是windows默认设置的表现。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多