我必须向物理打印机提供 PDF 的静默打印。我正在使用ghostscript,但我有一个问题:ghostscript 忽略了Windows 默认打印机设置。
例如,如果我在默认打印机设置中选择黑白或纸盘颜色,则在打印过程中会忽略这些。如果我让用户使用打印机对话框选择打印机,它可以工作,但我需要静默打印。
这是我的 C# 代码,它通过 Ghostscript.NET 库链接到 ghostscript
using (GhostscriptProcessor processor = new GhostscriptProcessor())
{
List<string> switches = new List<string>();
switches.Add("-empty");
switches.Add("-dPrinted");
switches.Add("-dBATCH");
switches.Add("-dNOPAUSE");
switches.Add("-dNOSAFER");
switches.Add("-dNumCopies=" + nrcopies);
switches.Add("-sDEVICE=mswinpr2");
if (!String.IsNullOrWhiteSpace(printerName))
switches.Add("-sOutputFile=%printer%" + printerName);
switches.Add("-f");
switches.Add(inputFile);
processor.StartProcessing(switches.ToArray(), null);
}