我想调用特定的打印机来打印我的WPF应用程序。 我有三个打印机 假设 的Printer1用于酒吧的账单打印 PRINTER2厨房账单打印 Printer3为客户账单打印 打印机名称已经保存在数据库中,在打印过程中,我从DB 得到一个打印机名称,并希望从特定的打印机打印在创建打印服务器对象,而不是defaul打印机 这里是我的代码调用特定的打印机来打印C#WPF
var v = new PrinterDAL().GetPrinterSettings();
try
{
System.Threading.Thread thread = new System.Threading.Thread(new
System.Threading.ThreadStart(
delegate()
{
gridPrint.Dispatcher.Invoke(DispatcherPriority.Normal,
new Action(
delegate()
{
PrintDialog printDialog = new PrintDialog();
printDialog.PrintQueue = new PrintQueue(
new PrintServer(@"\\" + v.BarPrinter), "");
printDialog.PrintVisual(gridPrint, "");
this.Close();
}
));
}
));
thread.Start();
}
catch (Exception ex)
{
Xceed.Wpf.Toolkit.MessageBox.Show(ex.Message, "", MessageBoxButton.OK,
MessageBoxImage.Error);
}
我得到一个例外,从这个代码
“发生异常Win32错误:打印机名称无效“。
鉴于我们不介意读者 - v.BarPrinter包含什么? –
它包含打印机的名称,这是此处的错误。你能打印出名字并检查.NET为什么不能与打印机通信? – Legoless
如果答案是正确的。请检查它是否被接受。其他人可以更快地找到答案。 – jlvaquero