WPF安装打印机驱动后PrintDialog 执行打印事件

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF安装打印机驱动后PrintDialog 执行打印事件相关的知识,希望对你有一定的参考价值。

原文:WPF安装打印机驱动后PrintDialog 执行打印事件

WPF可以很好的利用流文档来实现打印预览和PrintDialog 实现打印功能,但是我在这只是写了一个很简单的打印功能演示。
PagePrint布局代码:

d:DesignHeight="350" d:DesignWidth="525" Background="White"
      Title="PagePrint">

    <Canvas x:Name="PrintArea">

        <TextBlock FontSize="10" FontWeight="Bold" Foreground="Black" Name="Spec"
                       Canvas.Left="165" Canvas.Top="116" Height="13" Width="96">
        </TextBlock>
        <TextBlock FontSize="10" FontWeight="Bold" Foreground="Black" Name="Name"
                       Canvas.Left="165" Canvas.Top="96" Height="13" Width="96">
        </TextBlock>
        <TextBlock FontSize="10" FontWeight="Bold" Foreground="Black" Name="Mfrs"
                       Canvas.Left="165" Canvas.Top="136" Height="13" Width="96">
        </TextBlock>

    </Canvas>

布局代码只是很简单的放了几个文本框,此PagePrint布局代码的后台:

 //定义全局变量用于要打印的名称,规格以及生厂商
        public static String CName = null;
        public static String CSpec = null;
        public static String CMfrs = null;
        public void Pring()
        {
            String CName = PagePrint.CName;
            String CSpec = PagePrint.CSpec;
            String CMfrs = PagePrint.CMfrs;
            // MessageBox.Show(CName);

            Name.Text = CName;
            Spec.Text = CSpec;
            Mfrs.Text = CMfrs;
            //打印打印区域
            PrintDialog dialog = new PrintDialog();
            dialog.PrintVisual(PrintArea, "Test");

因为我在另一个页面点击button按钮可以实现此打印功能,所以只需要在另一个页面添加如下代码:

 //给名称,规格以及生产商的全局变量赋值用于打印
                    PagePrint.CName = CName;
                    PagePrint.CSpec = Spec;
                    PagePrint.CMfrs = Mfrs;

                    //调用函数打印。。
                    PagePrint PrintprintArea = new PagePrint();
                    PrintprintArea.Pring();

注意:安装好打印驱动之后要把打印机设置成默认打印机,其次要注意如果打印出来的是空白或者错位,可能是由于布局文件大小,位置等等的原因。


以上是关于WPF安装打印机驱动后PrintDialog 执行打印事件的主要内容,如果未能解决你的问题,请参考以下文章

为 Wpf DocumentViewer PrintDialog 设置 PageOrientation

在 WPF 中打印集合

将 PrintDialog 拦截到 XPS 文档编写器

WPF打印控件内容

打印 WPF WebBrowser 的内容

我的电脑显示打印控件未安装点击这里执行安装。安装后请刷新页面或重