Как напечатать PDF на сетевом принтере по умолчанию с помощью команды оболочки GhostScript (gswin32c.exe)

Я хотел бы напечатать файл (ы) PDF на сетевом принтере Windows через GhostScript.
(Я не хочу использовать Adobe Reader)

я прочелgswin32c.exe который может сделать работу.
Я экспериментировал со многими командами и не нашел способа заставить gs печатать PDF на моем сетевом диске (по умолчанию для Windows).

Мне не нужен точный сетевой принтер - можно использовать по умолчанию. Но если такой опции нет, я с удовольствием передам имя принтера. (Я пытался с параметром -SDevice = "\ server_IP \ printer_name", но это не сработало ...)

Команда работает под Windows cmd:

gswin32c -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=1 -sDEVICE=ljet4 -sOutputFile="\\spool\\\Server_Name\Printer_name" "C:\test.pdf"

Метод создан на основе выше - не работает и не исключение. (Код ошибки = 1)

    /// <summary>
    /// Prints the PDF.
    /// </summary>
    /// <param name="ghostScriptPath">The ghost script path. Eg "C:\Program Files\gs\gs8.71\bin\gswin32c.exe"</param>
    /// <param name="numberOfCopies">The number of copies.</param>
    /// <param name="printerName">Name of the printer. Eg \\server_name\printer_name</param>
    /// <param name="pdfFileName">Name of the PDF file.</param>
    /// <returns></returns>
    public bool PrintPDF (string ghostScriptPath, int numberOfCopies, string printerName, string pdfFileName) {
        ProcessStartInfo startInfo  = new ProcessStartInfo();
        startInfo.Arguments         = " -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=" + Convert.ToString(numberOfCopies) + " -sDEVICE=ljet4 -sOutputFile=\"\\\\spool\\" + printerName + "\" \"" + pdfFileName + "\"";
        startInfo.FileName          = ghostScriptPath; 
        startInfo.UseShellExecute   = false;

        Process process = Process.Start(startInfo);

        return process.ExitCode == 0;
    }

Есть идеи, как заставить его работать под C #?

Ответы на вопрос(3)

Ваш ответ на вопрос