如何在不需要任何用户互动的情况下从Windows服务打印特定打印机上的文档?
字符串或文本文件。也许Crystalreport?
感谢。
答案 0 :(得分:2)
关键不在于如何从Windows服务或应用程序进行打印,如果您不希望需要任何用户交互,则必须指定所有打印参数而无需显示打印对话框(您可以因为Windows服务无权访问UI。
见这里:http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx
答案 1 :(得分:0)
尝试创建多线程服务。使用Admin previledges创建服务后,用户不会受到干扰。 (实际上我没有理解“不需要任何用户互动”)
答案 2 :(得分:0)
使用水晶报告还有另一个讨论: Print without Printer selection dialog
这是打印html的另一个 Print html document from Windows Service without print dialog
希望他们能让你开始朝着正确的方向前进。
答案 3 :(得分:0)
// Class that handles printing
class MyPrintDocument : PrintDocument
{
//...
}
当你想要打印时:
// Create an instance of your printer class
MyPrintDocument printer = new MyPrintDocument();
// Set StandardPrintController so status dialog won't appear
printer.PrintController = new StandardPrintController();
答案 4 :(得分:0)
要从Windows服务“静默”打印,您应该使用Win32 GDI API。
如果您正在开发Microsoft .NET应用程序,则可以使用Platform Invocation Services(PInvoke)来调用Win32 GDI API进行打印。 Heres a nice PInvoke tutorial。 Take a look here for Win32 GDI methods etc
以下是有关从Microsoft DSUI团队的Windows服务打印的更多信息和示例... take a look