GTK#:打印到非默认打印机
GTK#: Print to a non default printer
我正在通过 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);
我可以通过默认的打印机选择对话框选择打印机,并且页面会在所选打印机上打印。
我现在想做的是在另一台(= 非默认)打印机上静默打印文档,而不是从对话框中手动选择它(我的应用程序应该在后台打印而无需用户交互)。
我知道我的应用程序中的打印机名称,但是如何设置打印机,以便在没有用户交互的情况下在这台 "non default" 打印机上打印我的页面?
我又一次找到了答案:
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);
我正在通过 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);
我可以通过默认的打印机选择对话框选择打印机,并且页面会在所选打印机上打印。
我现在想做的是在另一台(= 非默认)打印机上静默打印文档,而不是从对话框中手动选择它(我的应用程序应该在后台打印而无需用户交互)。
我知道我的应用程序中的打印机名称,但是如何设置打印机,以便在没有用户交互的情况下在这台 "non default" 打印机上打印我的页面?
我又一次找到了答案:
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);