2011-08-20 130 views
1

我开发了一个C#的Windows服务。现在我正在寻找一种方式,它可以将特定文件(可以是TIFF,PDF,HTML,MHT或文本)打印到特定打印机。问题在于,当我使用Process打印动词时,如何设置特定的打印机?在Windows服务中使用Process也是可行的吗? - 它不应该显示一个窗口。如何将文件打印到特定的打印机

回答

2

在我看来,这种提议的方法可能会失败。使用shell动词进行打印将调用关联的应用程序来执行打印。对于这些文件类型中的很多,这将导致显示UI,这将在服务中失败。

您提到的所有文件类型都可以直接从您的服务打印出来,而无需借助其他应用程序。这将需要更多的编码,但我相信它是一种服务最可行的解决方案。

或者,您可以从交互式桌面上运行的标准应用程序执行此操作。这应该可以正常工作,并且我认为您将控制运行此代码的计算机的硬件和软件配置。否则,使用外壳动词将是一个非常脆弱和脆弱的方法 - 谁知道什么文件关联在随机客户的机器上?!

0

请注意,PDF格式的情况下,打印PDF时无人值守会违反Adobe EULA。假设.pdf扩展名与Adobe PDF Reader(或这种情况下的打印机)相关联......)。

相关问题