/// <summary> /// 打印预览出工单的实现,调用预览模板页进行并且打印 /// </summary> private void PrintPreGoWork_Click(object sender, RoutedEventArgs e) { var printTxtValue = ReadXml.GetGoWorkPrintTxtValue(); var print = new PrintPreWindow(@"PrintTemplete/GoWorkPrintTemplate.xaml", printTxtValue) { Owner = this, ShowInTaskbar = false }; print.ShowDialog(); }
/// <summary> /// 直接打印出工单的实现,调用模板页直接打印 /// </summary> private void PrintGoWork_Click(object sender, RoutedEventArgs e) { //初始化打印机状态,使其调用打印机接口,弹出框用户可以随机选择打印模板 var printDialog = new PrintDialog(); //首先判断只有窗口未打开才能调用打印驱动 if (printDialog.ShowDialog() != true) { return; } //调用方法实现前台读取XML var printTxtValue = ReadXml.GetGoWorkPrintTxtValue(); FlowDocument flowDocument = PrintPreWindow.LoadDocumentAndRender(@"PrintTemplete/GoWorkPrintTemplate.xaml", printTxtValue); Dispatcher.BeginInvoke(new DoPrintMethod(DoPrint), DispatcherPriority.ApplicationIdle, printDialog, ((IDocumentPaginatorSource)flowDocument).DocumentPaginator); }
/// <summary> /// 直接打印请假单的实现,调用模板页直接打印 /// </summary> private void PrintLeave_Click(object sender, RoutedEventArgs e) { //初始化打印机状态,使其项目调用打印机接口,弹出框供用户可以随机选择打印的模板 var printDialog = new PrintDialog(); //首先判断只有窗口未打开才能调用打印驱动 if (printDialog.ShowDialog() != true) { return; } //获取前台传递的信息 var departmentText = DepartmentBox.Text; bool?thingHoliday = ThingHoliday.IsChecked; //事假 bool?loseHoliday = LoseHoliday.IsChecked; //丧事 bool?wedHoliday = WedHoliday.IsChecked; //婚事 bool?leaveHoliday = LeaveHoliday.IsChecked; //产假 bool?failHoliday = FailHoliday.IsChecked; //病假 bool?yearHoliday = YearHoliday.IsChecked; //年休假 //调用方法实现前台读取XML var printTxtValue = ReadXml.GetLeavePrintTxtValue(departmentText, thingHoliday, loseHoliday, wedHoliday, leaveHoliday, failHoliday, yearHoliday); FlowDocument flowDocument = PrintPreWindow.LoadDocumentAndRender(@"PrintTemplete/LeavePrintTemplate.xaml", printTxtValue); Dispatcher.BeginInvoke(new DoPrintMethod(DoPrint), DispatcherPriority.ApplicationIdle, printDialog, ((IDocumentPaginatorSource)flowDocument).DocumentPaginator); #region ---------------------直接打印实现,但是需要安装OneNote或者驱动-------------------------- //PrintLeave.IsEnabled = false; //当单击之后将按钮置为非启用状态 ////初始化打印机状态,使其项目调用打印机接口 //var printDialog = new PrintDialog(); //FlowDocument flowDocument = PrintPreWindow.LoadDocumentAndRender( // @"PrintTemplete/LeavePrintTemplate.xaml", ""); ////执行异步委托调用参数 //Dispatcher.BeginInvoke(new DoPrintMethod(DoPrint), DispatcherPriority.ApplicationIdle, printDialog, // ((IDocumentPaginatorSource) flowDocument).DocumentPaginator); ////定义执行完成之后释放资源并且将按钮状职位可用 //timer = new Timer(TimerCallBack, null, 3000, Timeout.Infinite); #endregion }
/// <summary> /// 打印预览请假单的实现,调用预览模板页进行并且打印 /// </summary> private void PrintPreLeave_Click(object sender, RoutedEventArgs e) { //调用方法实现前台读取XML,获取前台传递的信息, var departmentText = DepartmentBox.Text; bool?thingHoliday = ThingHoliday.IsChecked; //事假 bool?loseHoliday = LoseHoliday.IsChecked; //丧事 bool?wedHoliday = WedHoliday.IsChecked; //婚事 bool?leaveHoliday = LeaveHoliday.IsChecked; //产假 bool?failHoliday = FailHoliday.IsChecked; //病假 bool?yearHoliday = YearHoliday.IsChecked; //年休假 var printTxtValue = ReadXml.GetLeavePrintTxtValue(departmentText, thingHoliday, loseHoliday, wedHoliday, leaveHoliday, failHoliday, yearHoliday); var print = new PrintPreWindow(@"PrintTemplete/LeavePrintTemplate.xaml", printTxtValue) { Owner = this, ShowInTaskbar = false }; print.ShowDialog(); }
/// <summary> /// 打印预览请假单的实现,调用预览模板页进行并且打印 /// </summary> private void PrintPreLeave_Click(object sender, RoutedEventArgs e) { //调用方法实现前台读取XML,获取前台传递的信息, var departmentText = DepartmentBox.Text; bool? thingHoliday = ThingHoliday.IsChecked; //事假 bool? loseHoliday = LoseHoliday.IsChecked; //丧事 bool? wedHoliday = WedHoliday.IsChecked; //婚事 bool? leaveHoliday = LeaveHoliday.IsChecked; //产假 bool? failHoliday = FailHoliday.IsChecked; //病假 bool? yearHoliday = YearHoliday.IsChecked; //年休假 var printTxtValue = ReadXml.GetLeavePrintTxtValue(departmentText, thingHoliday, loseHoliday, wedHoliday, leaveHoliday, failHoliday, yearHoliday); var print = new PrintPreWindow(@"PrintTemplete/LeavePrintTemplate.xaml", printTxtValue) { Owner = this, ShowInTaskbar = false }; print.ShowDialog(); }