打印不在wpf中工作

时间:2012-11-20 12:41:58

标签: c# wpf printing printdialog

我正在开发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。类似的许多其他文字。此外,它还打印一些文本,如“此作业需要的内存超过此打印机可用的内存”,“输出格式选择优化便携性”,“减少文档中的字体数”。等等 我认为我的打印机出了问题。或者我的代码或应用程序有什么问题吗?如何使用上面的代码打印打印页面上的实际按钮?能否请您解决上述链接?

2 个答案:

答案 0 :(得分:0)

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

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

然后这是一个显示如何从控件创建位图的问题。

Get a bitmap image from a Control view

答案 1 :(得分:0)

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