以编程方式打印文档

时间:2009-03-11 17:34:28

标签: c# .net windows

虽然我无法让我的桌面运行Win7 64连接到我们的网络打印机,但我希望能够使用Input Director将文件粘贴到笔记本电脑上的共享中。在那里,我想要一个FileSystemWatcher来拾取和打印,然后删除它们。我该怎么办?我假设我需要以某种方式挂钩shell,这意味着我的应用程序不能成为一项服务,但我在这里真的很无能为力。

我已经安装了Input Director,因此我可以将光标从桌面桌面屏幕移到我的笔记本电脑桌面上,然后右键单击要打印的文件。但是,我仍然有兴趣学习如何进行打印。

3 个答案:

答案 0 :(得分:1)

我认为这取决于您要打印的内容,因为应用程序负责将文档呈现给打印设备,而不是shell本身。

这不是为您的打印机找到正确的驱动程序的好方法吗?

答案 1 :(得分:0)

System.Drawing.Printing将帮助您做您想做的事。无需挂钩shell,因此您可以将其作为一项服务。无论何时检测到新文件,只需将其发送到打印机即可。

对于更多涉及的类型(Word文档等),您可以使用Interop库来使用Word本身来打印文档。例如,here是Interop.Word PrintOut方法。

答案 2 :(得分:0)

鉴于您的要求(非生产,非服务器解决方案),为什么不只是在您的笔记本电脑上启动一个命令行应用程序并将FileSystemWatcher挂钩并打印出来?或者你可以编写一个“活在”图标托盘中的应用程序。

至于如何打印它们,这是应用程序特定的应用程序,但对于许多应用程序,您可以让shell弄明白并使用ShellExecute API进行打印操作。