0

我必须向物理打印机提供 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);
            }
4

1 回答 1

0

我找到了这个解决方案,ghostcript 的另一个开关:

switches.Add("-dQueryUser=3");
于 2018-06-22T11:13:28.773 回答