ドキュメントビューアを使用するWPFアプリケーションがあります。また、documentviewer.Print();を使用してプログラムで印刷を開始します。ただし、それを押すと、Windowsプリンターの画面が表示され、ユーザーはその画面でもう一度[OK]をクリックして開始する必要があります。確認を回避してdocumentviewer.Print();を作成する方法はありますか?デフォルトのWindowsプリンターですぐに印刷ジョブを開始しますか?
3497 次
1 に答える
8
必要なのは、経由で取得できるデフォルトの印刷キューだけです。
var pq = LocalPrintServer.GetDefaultPrintQueue()
これから、XpsDocumentWriterを作成できます。
var writer = PrintQueue.CreateXpsDocumentWriter(pq);
これで、 Document プロパティを介してDocumentViewerから DocumentPaginatorを取得できます。これは、 DocumentPaginator プロパティを持つ IDocumentPaginatorSource を返します。
var paginator = documentviewer.Document.DocumentPaginator;
そして、その権利をXpsDocumentWriter の Write メソッドに送信できます。
writer.Write(paginator);
シンプルですね。
于 2011-04-18T14:56:30.283 に答える