WPF DocumentViewer - 无需确认即可打印

时间:2011-04-18 14:41:13

标签: c# wpf printing documentviewer

我有一个WPF应用程序,我使用文档查看器。我也开始使用documentviewer.Print()进行编程打印;但是,当按下该按钮时,它会使用Windows打印机调出屏幕,并使用户必须再次单击该屏幕上的“确定”才能启动。有没有办法避免确认并制作documentviewer.Print();立即在默认的Windows打印机上启动打印作业?

1 个答案:

答案 0 :(得分:7)

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

获取
var pq = LocalPrintServer.GetDefaultPrintQueue()

通过此,您可以创建XpsDocumentWriter

var writer = PrintQueue.CreateXpsDocumentWriter(pq);

现在,您可以通过DocumentPaginator从DocumentViewer获取Document propertyDocumentPaginator property会返回一个XpsDocumentWriter's Write method的IDocumentPaginatorSource:

var paginator = documentviewer.Document.DocumentPaginator;

您可以将该权利发送到{{3}}:

writer.Write(paginator);

简单,不是吗?