1

複数のフロードキュメントをバッチで印刷するにはどうすればよいですか?次のコードは、異なるドキュメントを印刷する必要がありますが、同じものを印刷します。このサンプルは、xpsプリンターで印刷する場合にのみ問題なく機能します。

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);
    }
  }
4

1 に答える 1

1

これらはスレッドの問題です。割り当てた後DataContext、スレッドが待機キューを処理することを確認してください。

Dispatcher.CurrentDispatcher.Invoke(
        DispatcherPriority.SystemIdle, new DispatcherOperationCallback(_ => null), null);
于 2009-06-27T11:00:55.580 に答える