我看到很多关于在C#中为Word文档设置打印机托盘的帖子。 我需要一个适用于Excel的解决方案。
如果可能的话,最好是适用于任何文档的更好的解决方法。一种可以传递文件路径和托盘的方法。
编辑 到目前为止,我尝试了以下方法,但打印机设置没有发生可见变化。
PrinterSettings ps = new PrinterSettings();
ps.PrinterName = @"\\localhost\HP-4515n";
var dps = ps.DefaultPageSettings;
dps.PaperSource.RawKind = 260;
或者
PrinterSettings ps = new PrinterSettings();
ps.PrinterName = @"\\localhost\HP-4515n";
PaperSource psrc = new PaperSource();
psrc.RawKind = 260;
psrc.SourceName = "unknown";
dps.PaperSource = psrc;
EDIT 2
由于托盘在纸张来源设定中未显示,我硬编码了RawKind。
目前,当我打印例如Excel文档时,我会显示打印机对话框,获取所选打印机的名称,并将其传递给Interop Excel活动打印机属性。但现在我需要大量打印文件,并且需要以编程方式设置所选打印机及其属性,特别是托盘。