У меня есть следующий код, который очень хорошо работает в winforms и C#:
printDialog = new PrintDialog();
if (DialogResult.OK == printDialog.ShowDialog())
{
try
{
PrintDocument pd = new PrintDocument();
PrinterSettings ps = new PrinterSettings();
pd.PrintPage += new PrintPageEventHandler(PrintImage);
pd.PrinterSettings = printDialog.PrinterSettings;
pd.Print();
}
catch
{
}
}
Теперь в wpf указано, что в строке есть ошибка:
pd.PrinterSettings = printDialog.PrinterSettings;
Поэтому, чтобы проверить, работает ли остальная часть кода, я прокомментировал его, и он работает очень хорошо, но, очевидно, он всегда печатает на принтере, который P C настроил по умолчанию.
Я пытался исследовать другие Как решить эту проблему, и решение предположительно следующее:
printDialog.PrintQueue = new PrintQueue(new PrintServer(), "The exact name of my printer");
Но при выполнении этого действия возникает ошибка:
Код серьезности Описание Файл строки состояния проекта удален Ошибка CS0012 Тип 'PrintQueue' определен в сборка, на которую нет ссылок. Вы должны добавить ссылку на сборку 'System.Printing, версия = 4.0.0.0, культура = нейтральная,
Любые комментарии или предложения приветствуются.