C# 创建printbatch以打印多个流程文档
如何成批打印多个流程文档? 下面的代码应该打印不同的文档,但打印相同的文档。只有在xps打印机上打印时,此示例才能正常工作C# 创建printbatch以打印多个流程文档,c#,wpf,printing,xps,C#,Wpf,Printing,Xps,如何成批打印多个流程文档? 下面的代码应该打印不同的文档,但打印相同的文档。只有在xps打印机上打印时,此示例才能正常工作 var printDialog = new PrintDialog(); if(printDialog.ShowDialog() == true) { var xpsDocumentWriter = PrintQueue.CreateXpsDocumentWriter(printDialog.PrintQueue); foreach(var perso
var printDialog = new PrintDialog();
if(printDialog.ShowDialog() == true) {
var xpsDocumentWriter = PrintQueue.CreateXpsDocumentWriter(printDialog.PrintQueue);
foreach(var person in persons) {
var doc = Application.LoadComponent(new Uri("Template.xaml", UriKind.Relative)) as FlowDocument;
doc.DataContext = persons;
var paginator = ((IDocumentPaginatorSource)doc).DocumentPaginator;
xpsDocumentWriter.Write(paginator);
}
}
这些都是线程问题。分配
DataContext
后,确保线程处理其等待队列:
Dispatcher.CurrentDispatcher.Invoke(
DispatcherPriority.SystemIdle, new DispatcherOperationCallback(_ => null), null);
这些都是线程问题。分配
DataContext
后,确保线程处理其等待队列:
Dispatcher.CurrentDispatcher.Invoke(
DispatcherPriority.SystemIdle, new DispatcherOperationCallback(_ => null), null);