Ghostscript PDF多页多份打印无法整理

时间:2018-06-22 15:06:15

标签: printing ghostscript ghostscript.net

这是我对C#和Ghostscript.NET库的无提示PDF打印代码:

        public bool Print(string inputFile, string printerName, int nrcopies)
        {
            if (nrcopies < 1)
                nrcopies = 1;
            if (!File.Exists(inputFile) || !inputFile.ToLower().EndsWith(".pdf"))
                throw new ApplicationException("File not found or not valid");
            bool defaultPrinter = String.IsNullOrWhiteSpace(printerName);
            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(defaultPrinter)
                    switches.Add("-dQueryUser=3");
                else
                    switches.Add("-sOutputFile=%printer%" + printerName);
                switches.Add("-f");
                switches.Add(inputFile);
                try
                {
                    processor.StartProcessing(switches.ToArray(), null);
                }
                catch (Exception) { }
            }
            return true;
        }

如果要多页打印多页,我想拼贴页面。 我曾尝试在许多设备上进行打印,例如在Windows的PDF打印机中进行打印,但我始终无法进行逐份打印。

这就是我想要的:

enter image description here

但这是我使用此参数得到的:

switches.Add("-dNumCopies=" + nrcopies);

enter image description here

这是等效的GS命令:

gswin64.exe -empty -dPrinted -dNOSAFER -dNumCopies=2 -sDEVICE=mswinpr2 -dQueryUser=3 -f "C:\Users\myuser\Desktop\TEST.pdf"

0 个答案:

没有答案