在打印文档时设置打印选项

时间:2013-12-28 13:51:55

标签: c# pdf printing

我想在我的打印作业上设置我的设置。 例如,我想在1张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();
        }
    }

1 个答案:

答案 0 :(得分:1)

您无法使用info.Verb = "print"执行此操作。通过将Verb设置为print,您基本上使用的是Windows shell命令print,该命令采用两个参数:文件名和打印机设备名称。

如果要打印具有特定打印设置的pdf文件,则必须使用可以使用命令行参数打印pdf的第三方软件(如Ghostscript)。有关详细信息,请参阅this文章。