我正在使用这样一个GTK#对象通过PrintOperation打印页面:
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);我能够选择打印机通过默认打印机选择对话框和页面打印在选定的打印机。
现在我想要做的是在另一个(=非默认)打印机上静默地打印文档,而不从对话框中手动选择它(我的应用程序应该在后台打印而不需要用户交互)。
我知道我的应用程序中的打印机名称,但是如果没有用户交互,如何设置打印页面的打印机?
发布于 2016-01-25 21:16:22
我自己又找到了答案:
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);https://stackoverflow.com/questions/34998683
复制相似问题