【问题标题】:Printing from canvas control in WPF从 WPF 中的画布控件打印
【发布时间】:2012-05-24 19:24:22
【问题描述】:

我的应用程序从画布(WPF、C#)打印,但该应用程序需要分配一个默认打印机。默认打印机在 PC 上保存为 .ini 文件。概念是,工作人员可以点击我画布上的打印按钮,画布会生成一个布局,然后发送到打印机。

所以,我需要做的两件事是:

  1. 根据文本文件中的字符串设置默认打印机
  2. 装订后打印

单击打印按钮后,画布会更新为我想要的布局(通过数据绑定)并将作业发送到打印机(打印机检测到作业并显示在打印机队列中),但打印机从不打印文件。就好像我已经排队了一份工作,但从未说过“开始”。

然后我的佳能给了我一个错误(虽然这可能是一个红色的听力),即“另一台打印机正在使用该打印机。以下状态是该计算机的使用状态 ---”

这是我使用的两种主要方法。

internal void AutoPrint()
{
        string printerName = GetPrinterNameFromTextFile();
        PrintDialog dialog = new PrintDialog();
        getView(); //queries database, returns model and binds

        Print(dialog, config.PrinterName);
}

internal void Print(PrintDialog dialog, string printerName)                  
{                  
        Canvas canvas = new Canvas();
        canvas = this.PrintCanvas;

        PrintQueue queue = new LocalPrintServer().GetPrintQueue(printerName);
        dialog.PrintQueue = queue;
        Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(delegate()
            {
                dialog.PrintVisual(canvas, "");
            }));
}

【问题讨论】:

    标签: c# printing printqueue


    【解决方案1】:

    好的,我在其他地方问了一个不同的问题,但提供了源代码和答案: C# printing with WPF

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多