2016-10-28 12 views
0

Я пытаюсь напечатать 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 по умолчанию. Какая ошибка? Спасибо.

ответ

0

@RiksonTool,

Ваш код печати в формате PDF с помощью принтера по умолчанию, как он читает настройки из панели управления окнами. Это не ошибка, это проявление настроек по умолчанию в окнах.

Надеюсь, это поможет