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

时间:2023-03-09 06:43:07
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();

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