打印对话框选定的纸张来源



PrintDialog类中选择打印选项后,我正在尝试将多个文档直接发送到打印机.
我需要检索选定的论文来源。不幸的是,我只能从打印机中找到所有纸张来源,而不是选定的纸张来源.
这是我的代码示例(缩短版本):

CrystalDecisions.CrystalReports.Engine.ReportDocument document;
//...
PrintDialog pDialog = new PrintDialog();
pDialog.ShowDialog();
document.PrintOptions.PrinterName = pDialog.PrinterSettings.PrinterName;   //OK
//Here I need to set the papersource
//document.PrintOptions.PaperSource = ???
document.printToPrinter(pDialog.PrinterSettings.Copies, false, 0, 0)

我是否使用好对象来执行此操作?
注意:PageSetupDialog没有为我提供打印机选项,因为我使用的是 Windows 7。

我用Hans Passant的评论找到了问题的答案。感谢他.
为了从PrintDialog那里得到PaperSource,我不得不给它设置一个假PrintDocument.
PrintDialog不直接保留论文来源。相反,它会将PrintDialog.Document.DefaultPageSettings.PaperSource设置为 .
下面是它的样子:

CrystalDecisions.CrystalReports.Engine.ReportDocument document;
PrintDialog pDialog = new PrintDialog();
pDialog.Document = new System.Drawing.Printing.PrintDocument();
pDialog.ShowDialog();
document.PrintOptions.PrinterName = pDialog.PrinterSettings.PrinterName;
document.PrintOptions.CustomPaperSource = pDialog.Document.DefaultPageSettings.PaperSource;
document.printToPrinter(pDialog.PrinterSettings.Copies, false, 0, 0);

相关内容

  • 没有找到相关文章

最新更新