【问题标题】:How to use print queue to send a collection of visuals for printing?如何使用打印队列发送一组用于打印的视觉效果?
【发布时间】:2011-12-29 19:48:07
【问题描述】:

我有一组参数将命令 UI 更改。目前,对于每个数组参数,我正在更改我的 UI 并将 UI 作为打印的视觉对象发送。但是现在,我需要一次将所有视觉效果发送到打印机。换句话说,我有 10 页,并将每一页发送给打印。我需要一次将所有 10 页发送到打印机以支持双面打印。我想我可以通过使用 PrintQueue 来做到这一点。但不确定如何使用它。希望有人可以帮助我。

private void ButtonPrintAll_Click(object sender, RoutedEventArgs e) 
{ 
  //Creating the print dialog 
  //Show print Dialog 
  if(printDialog.ShowDialog()) 
  { 
     for(int i = 0; i < arrayParameterts.Count; i++)
     { 
        frmMainContent.Source = new Uri(arrayParameterts[i], UriKind.Relative);
        frmMainContent.UpdateLayout(); 
     } 
  } 
}

提前谢谢...

【问题讨论】:

  • 您能否粘贴您拥有的代码,也许有人可以根据您现有的逻辑了解如何完成此操作。在您的代码中,您是否对 Duplex 有任何引用,例如 Printer.Duplex = 2 Printer.Print "Testing Page 1
  • 这是我用于打印的代码块。在按钮单击中,我将获取参数数组,并使用不同的用户控件更改 WPF 页面中 Frame 的源取决于数组参数:
     private void ButtonPrintAll_Click(object sender, RoutedEventArgs e) { //创建打印对话框 //显示打印对话框 if(printDialog.ShowDialog()) { for(int i = 0; i 
  • 在帧渲染事件中,我将布局打印为视觉 void frmMainContent_ContentRendered(object sender, EventArgs e) { //获取打印机功能 PrintCapabilities printerCapabilities = printDialog.PrintQueue.GetPrintCapabilities(pDialog.PrintTicket ); //打印视觉效果 printDialog.PrintVisual(this, "My Printouts");我一次发送一份打印件。因此,打印机没有进行双面打印。我需要立即发送它们,以便打印页面的两侧。对于所有错误的格式,我深表歉意。我是新手,不知道如何进行语法高亮。

标签: c# .net wpf printing


【解决方案1】:

how to change printer to print Duplex 该网站解释了个人为纠正网络上所有不良示例所做的工作。这应该可以帮助您开始使用或转换现有代码。

如果您想让代码在批处理样式打印或双面打印之间切换,我将创建一个可以将该方法提取到接口并为 Duplex 创建另一个方法并将其提取到接口的方法。然后您可以配置它来处理。不需要浪费好的代码希望这会有所帮助

【讨论】:

    猜你喜欢
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多