c# - 调用特定打印机打印 C# WPF

标签 c# wpf

我想在我的 WPF 应用程序中调用特定的打印机进行打印。 我有三台打印机 认为 条形票据打印打印机 1 Printer2 for Kitchen bill 打印 客人账单打印打印机3 打印机名称已保存在数据库中,打印时我从数据库中获取打印机名称 并想从特定打印机打印,而不是默认打印机 这是我的代码

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);
}

我从这段代码中得到异常

“创建 PrintServer 对象时发生异常。Win32 错误:打印机名称无效。”

最佳答案

PrintServer 必须是使用 UNC 格式 (\\resource) 而非打印机名称的计算机或打印机服务器设备的实例:

例如,如果您的计算机在您的域中的名称是 KashifPC,并且您配置了一台名为“Printer1”的打印机,您可以使用:

//example code. no error handling.
PrintServer localPS = New PrintServer(@"\\KashifPC")
PrinterQueue printer1 = localPS.GetPrintQueue("Printer1") //v.BarPrinter???
PrintDialog printDialog = new PrintDialog();
printDialog.PrintQueue = printer1
//rest of code

关于c# - 调用特定打印机打印 C# WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357009/

相关文章:

c# - 使用正则表达式删除长文本中字符附近的空格

c# - 设置服务器名称指示 (SNI) 取消证书绑定(bind)

c# - 将 css 样式内联到 html 元素中

c# - .net Micro for ARM M3 STM32F103ZD

c# - 如何在 C# Mongodb 强类型驱动程序中基于嵌套数组元素进行过滤

c# - MVVMLight CanExecute 在单击窗口之前不起作用

c# - 数据验证在编辑模式下不起作用

c# - 制作 DevExpress BarButtonItem 内容两行

wpf - 如何在WPF ListView中对项目进行分组

wpf - MVVM-如何绑定(bind)到文本框的 SelectionStart 和 SelectionLength 属性?