【问题标题】:WPF DocumentViewer - Print with no confirmationWPF DocumentViewer - 无需确认即可打印
【发布时间】:2011-08-07 22:56:36
【问题描述】:

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

【问题讨论】:

    标签: c# wpf printing documentviewer


    【解决方案1】:

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

    var pq = LocalPrintServer.GetDefaultPrintQueue()
    

    由此,您可以创建一个XpsDocumentWriter

    var writer = PrintQueue.CreateXpsDocumentWriter(pq);
    

    现在,您可以通过 Document property 从 DocumentViewer 中获取 DocumentPaginator,这将返回具有 DocumentPaginator property 的 IDocumentPaginatorSource:

    var paginator = documentviewer.Document.DocumentPaginator;
    

    您可以将该权利发送至XpsDocumentWriter's Write method

    writer.Write(paginator);
    

    很简单,不是吗?

    【讨论】:

    • 哇!是的,它真的很简单,比我预期的要简单得多。非常感谢。
    • @JimBeam:(我在讽刺“简单”位)
    猜你喜欢
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2016-10-06
    相关资源
    最近更新 更多