【问题标题】:Why would printing to a Printer cause an exception, when printing to .xps works just fine?当打印到 .xps 工作正常时,为什么打印到打印机会导致异常?
【发布时间】:2012-01-18 21:31:47
【问题描述】:

我将内容加载到 FlowDocument 中,该 FlowDocument 已加载到 FlowDocumentReader 控件中,充当打印预览样式窗口。我调用 FlowDocumentReader.Print() 方法。这将打开打印对话框,列出连接到我的 PC 的所有打印机。

当打印到 .xps(即文件)时,一切都正常打印。当我尝试打印到其他设备(联网打印机)时,出现以下异常:

System.Printing.Printjob Exception
"An exception occurred while calling XpsDocumentEvent." 

有问题的打印机连接正确。我可以发送其他文件给它就好了。我什至将联网打印机设置为主打印机,但没有任何效果。

我在这里很茫然。我应该检查什么来诊断和解决这个问题?

编辑:另外,如果我在遇到异常后继续调试,Windows 会说文档已成功发送到打印机,但没有打印任何文档。

编辑 2:我能够在不更改任何代码的情况下成功打印到不同的网络打印机。删除然后重新添加原来的麻烦打印机修复了我遇到的错误。这个故事的主旨?如有疑问,可能是打印机的问题。

【问题讨论】:

  • 您可以使用不同的(本地)打印机进行测试吗?
  • @HenkHolterman,我想,但没有可用
  • 查看观察窗口中的异常对象(或注销其属性)。特别注意可能有根本原因的InnerException 属性。您可能必须深入了解每个异常的内部异常,直到找到根本原因。
  • @PaulRuane 这是个好主意。我在调试时经常使用它,它在许多其他情况下都非常有用。不幸的是,在这种情况下 InnerException 属性被设置为 null。
  • @ford 如果你在 IE 中打开 XPS 并从那里打印(到网络打印机),你会得到同样的错误吗?如果文件 > 打印被禁用,请使用 Ctrl + P

标签: c# .net wpf printing


【解决方案1】:

我能够在不更改任何代码的情况下成功打印到不同的网络打印机。删除然后重新添加原来的麻烦打印机修复了我遇到的错误。这个故事的主旨?如有疑问,可能是打印机的错。在这一点上,也许这更像是一个超级用户的问题。

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 2011-06-30
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多