在 C# 中打开“打印”对话框
本文关键字:打印 对话框 | 更新日期: 2023-09-27 18:31:32
如何使用pdfsharp在C#中打开打印对话框?这是我打印文档的代码,但它没有打开打印对话框
Process proc = new Process();
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo.Verb = "print";
//Define location of adobe reader/command line
//switches to launch adobe in "print" mode
proc.StartInfo.FileName =
@"C:'Program Files'Adobe'Reader 11.0'Reader'AcroRd32.exe";
proc.StartInfo.Arguments = String.Format(@"/p /h {0}", pdfFileName);
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
if (proc.HasExited == false)
{
proc.WaitForExit(10000);
}
proc.EnableRaisingEvents = true;
proc.Close();
KillAdobe("AcroRd32");
return true;
来自 Adobe Reader FAQ 的逐字...
AcroRd32.exe/p 路径名 — 执行 Adobe Reader 并显示"打印"对话框。
AcroRd32.exe/t 路径"打印机名"驱动程序名"端口名" — 启动 Adobe Reader 并打印必须完全指定路径的文件,同时禁止显示"打印"对话框。
如果要打印文件而不显示打印对话框,则应使用第二个选项。
我想
你正在寻找这个。
System.Windows.Controls.PrintDialog dialogue = new System.Windows.Controls.PrintDialog();
DialogResult dr = dialogue.ShowDialog();
if( dr == DialogResult.OK)
{
// Do something
}
dialogue.Dispose();
或
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(PrintPage);
PrintDialog pdi = new PrintDialog();
pdi.Document = pd;
if (pdi.ShowDialog() == DialogResult.OK)
{
pd.DocumentName = documentName;
pd.Print();
}
else
{
MessageBox.Show("Print Cancelled");
}
http://www.codeproject.com/Questions/289705/how-to-open-print-dialog-box-in-my-csharp-applicat