我想在我的打印作业上设置我的设置。 例如,我想在一张 A4 纸上打印 4 页 pdf 文件。 我该怎么做?
这是我打印 pdf 文件的代码:
private void SendToPrinter()
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
ProcessStartInfo info = new ProcessStartInfo();
info.Verb = "print";
info.FileName = ofd.FileName;
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
Process p = new Process();
p.StartInfo = info;
p.Start();
p.WaitForInputIdle();
System.Threading.Thread.Sleep(3000);
if (false == p.CloseMainWindow())
p.Kill();
}
}
最佳答案
您不能使用 info.Verb = "print"
来做到这一点。通过将 Verb
设置为 print
,您基本上是在使用带有两个参数的 Windows shell 命令 print
,文件名和打印机设备名称。
如果您想打印具有特定打印设置的 pdf 文件,您必须使用第三方软件(如 Ghostscript),它可以使用命令行参数打印 pdf。参见 this文章了解更多信息。
关于c# - 在打印文档时设置打印选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20815324/