WPF DocumentViewer -打印没有确认

本文关键字:确认 打印 DocumentViewer WPF | 更新日期: 2023-09-27 17:50:33

我有一个使用文档查看器的WPF应用程序。我也开始用documentviewer.Print()编程打印;然而,当按下这个键时,它会弹出Windows打印机的屏幕,用户必须在该屏幕上再次点击"确定"才能开始。是否有办法避免确认并使documentviewer.Print();立即在默认的Windows打印机上启动打印作业?

WPF DocumentViewer -打印没有确认

您所需要的是默认的打印队列,您可以通过

获得该队列。
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);
很简单,不是吗?