如何打印对话框选择打印机打印过程



我正在尝试使用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。错在哪里?谢谢。

@RiksonTool,

你的代码是打印到pdf的默认打印机,因为它正在读取设置从控制面板的窗口。这不是错误,这是windows默认设置的表现。

希望有所帮助

相关内容

  • 没有找到相关文章

最新更新