尽管在打印对话框中选择了另一台打印机,PDF文档仍始终发送到默认打印机

时间:2012-01-19 00:34:27

标签: wpf system.printing

我需要让wpf应用程序的用户在打印特定的.pdf文件时能够选择打印机。我可以打印它,但无论我做什么,它总是进入默认打印机。此应用程序的大多数文档需要转到默认的黑白打印机。这个特定的文件需要到彩色打印机。当我运行此代码时,将显示打印对话框,但尽管选择的打印机不是默认打印机,但打印作业始终会转到默认打印机。

    private void PrintRedLightGreenLightFile()
    {
        PrintDialog pd = new PrintDialog();

            pd.ShowDialog();
            ProcessStartInfo info = new ProcessStartInfo();
            info.FileName = this.redlightgreenlightfilepath;
            info.Verb = "PrintTo";
            info.CreateNoWindow = true;
            info.WindowStyle = ProcessWindowStyle.Hidden;
            Process.Start(info);        }

1 个答案:

答案 0 :(得分:0)

您应该使用PrintDialog的PrintDocument方法,而不是开始单独的打印过程,如MSDN中所述(参见示例部分)。

除此之外,有关目标打印机的信息可以在PrintDialog的PrintQueue属性中找到,并且应该以某种方式传达给您的打印过程。