我正在使用像这样的PrintOperation
对象通过GTK#打印页面:
PrintOperation print = new PrintOperation();
print.BeginPrint += new BeginPrintHandler(OnBeginPrint);
print.DrawPage += new DrawPageHandler(OnDrawPage);
print.EndPrint += new EndPrintHandler(OnEndPrint);
print.Run(PrintOperationAction.Print, null);
结果:我的页面以静默方式打印在系统默认打印机上。 到目前为止一切都很好。
如果我用
替换最后一行print.Run(PrintOperationAction.PrintDialog, null);
我可以通过默认的打印机选择对话框选择打印机,并在所选的打印机上打印页面。
我现在要做的是在另一台(非默认)打印机上静默打印文档,而无需从对话框中手动选择(我的应用程序应该在后台打印而无需用户交互)。
我知道我的应用程序中的打印机名称,但是如何在没有用户交互的情况下将打印机设置在这个“非默认”打印机上?
答案 0 :(得分:0)
我再次找到答案:
PrintSettings settings = new PrintSettings();
settings.Printer = "MY SECONDARY PRINTER";
PrintOperation print = new PrintOperation();
print.PrintSettings = settings;
print.BeginPrint += new BeginPrintHandler(OnBeginPrint);
print.DrawPage += new DrawPageHandler(OnDrawPage);
print.EndPrint += new EndPrintHandler(OnEndPrint);
print.Run(PrintOperationAction.Print, null);