GTK#:打印到非默认打印机

时间:2016-01-25 17:34:16

标签: c# printing mono gtk#

我正在使用像这样的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);

我可以通过默认的打印机选择对话框选择打印机,并在所选的打印机上打印页面。

我现在要做的是在另一台(非默认)打印机上静默打印文档,而无需从对话框中手动选择(我的应用程序应该在后台打印而无需用户交互)。

我知道我的应用程序中的打印机名称,但是如何在没有用户交互的情况下将打印机设置在这个“非默认”打印机上?

1 个答案:

答案 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);