【发布时间】: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