В WPF печать - настройка принтера Automataically на WPF значок printdialog

Я пытаюсь распечатать WPF FlowDocument на определенном принтере без запроса пользователя. Принтер PDF конвертер.

это отлично работает за исключением того, что он печатает на принтер по умолчанию:

   PrintDialog pd = new PrintDialog();
   var doc = ((IDocumentPaginatorSource) RTB.Document).DocumentPaginator;
   // I would like to explicitly set the printer to print to here.
   pd.PrintDocument(doc, "Print Document");

в WinForms есть система.Рисунок.Печатающий.Объект PrinterSettings в документе, который имеет свойство PrinterName, которое можно установить на принтер, который я хочу, но я не вижу этого в WPF.

2 ответов


сначала вам нужна ссылка в вашем проекте на System.Printing. Затем вы можете использовать следующий код сразу после объявлении


это сработало для меня, когда я использовал общий сетевой принтер:

xPrintDialog.PrintQueue = New PrintQueue(New PrintServer("\computer name"), "printer name")