打印异常:设备未准备好

问题描述:

我有一个由Microsoft Reporting创建的报告文档,但不是使用其查看器来显示文档并将其打印出来,而是使用PrintDocument类直接打印而不显示用户任何窗口。打印异常:设备未准备好

它工作完美,直到我安装了热敏打印机并禁用其后台打印程序。现在偶尔我收到一个Win32Exception,表示“设备未准备就绪”。我想这是因为我禁用了后台打印程序,但由于打印机出现问题,我无法启用它。

那么,我对这个问题是否正确?如果是这样,在发送打印命令之前有没有办法检查打印机?

GetPrinter()返回的PRINTER_INFO_2结构应返回打印机状态。 Microsoft知识库文章“How to get the status of a printer and a print job”包含用C编写的示例代码。