Windows 2008服务办公自动化找不到打印机

Windows 2008服务办公自动化找不到打印机

我已经编写了一个 Windows 服务,它在 Microsoft Word 中打开一个文档,然后将其打印到 Ghostscript PDF 打印机以创建 PDF 文件。

它在 Windows 2003 服务器上运行良好。但在 Windows 2008 r2 上运行失败。我知道需要在系统配置文件下创建桌面文件夹,这解决了我最初遇到的另一个问题。

如果我将该服务作为应用程序运行,则一切都运行正常。因此,似乎一切都已正确设置和配置。

但是,当我将其作为服务运行时,日志文件中出现由 Microsoft Word 生成的以下错误:

Microsoft Word 中出现错误:Word 无法打印。未安装打印机。

我添加了打印机并手动选择了 Ghostscript 驱动程序,并将其设置为默认打印机。所以它应该可以工作。

当我添加打印机时,我以管理员身份登录。并且它是运行服务的同一个用户(不是系统用户)。但是我读到过一些文章说服务在 2008 年仍然使用内部用户环境,所以也许这就是问题所在。

答案1

你不会相信的。我终于让它工作了。

每次我运行我的服务时,打印机作业都会卡在队列中,状态为“正在后台处理...”。我发现以下代码段以某种方式支持打印作业。

while (WordApp.BackgroundPrintingStatus > 0) { 休眠 250 毫秒 }

删除此内容即可解决问题!!打印机作业再也不会卡住,并且运行顺畅。

难以置信..

相关内容