【问题标题】:Printing not working in wpf [closed]打印在wpf中不起作用[关闭]
【发布时间】:2012-11-20 12:41:58
【问题描述】:

我正在开发 wpf 应用程序。我在 xaml 页面中只有一个按钮。单击它时,我编写了以下代码

private void button1_Click(object sender, RoutedEventArgs e)
        {

            PrintDialog printDialog = new PrintDialog();
            if (printDialog.ShowDialog() == true)
            {
                //PrintUsingDocumentCondensed("Hi", "Hello");
                printDialog.PrintVisual(button1, "Print123");
                //printDialog.PrintDocument("a",
            }
        }

我已将打印机连接到我的系统。当我单击应用程序中的打印按钮时,打印机开始打印。打印机打印一些文本,例如 BeginDefaultsEndDefaultsBeginResourceEndResource。与许多其他文本类似。它还打印一些文本,例如“此作业需要的内存比这台打印机可用的内存更多”、“对于输出格式,请选择优化便携性”、“减少文档中的字体数量”。等等 我认为我的打印机出了点问题。或者我的代码或应用程序有什么问题吗?我应该如何使用上述代码在打印页面上打印实际按钮?您能否为我提供以上链接的任何解决方案?

【问题讨论】:

  • 我们要打印DrawingVisual,打印需要什么特定类型的打印机吗?
  • 不,AFAIK。至少没有什么是你合理需要考虑的。
  • 我已经使用了您链接中给出的代码。打印页面仍然按照我在问题中描述的方式打印

标签: c# wpf printing printdialog


【解决方案1】:

我不确定为什么直接在 PrintVisual 方法中删除对象不起作用,但我觉得这不是你最终会这样做的方式,所以我建议你换一种方式路线。我不会传入控件,而是生成一个位图,然后将位图传递给PrintVisual 方法。这个问题处理如何做到这一点:

Load image from file and print it using WPF... how?

还有一个问题,说明如何从控件创建位图。

Get a bitmap image from a Control view

【讨论】:

    【解决方案2】:

    我检查了在记事本上打印文本。它给出了同样的错误。然后我分析打印机没有正确添加。这是我的错误。现在正确添加了打印机。现在一切正常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      相关资源
      最近更新 更多