我正在尝试使用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默认设置的表现。
希望有所帮助